PDA

View Full Version : خطای the system cannot find the path specified در هنگام کامپایل فایل StimulSoft Report



هدشی بهشتی
دوشنبه 23 خرداد 1401, 11:15 صبح
سلام
من چند سالی هست که با نرم افزار استیمول برای گزارش گیری استفاده میکنم اما اخیرا در یک مجموعه به مشکلی برخوردم که این خطا رو هنگام کامپایل میده the system cannot find the path specified
که برای رفع این مشکل حتما باید سیستم ری استارت شود تا خطا برطرف شود و ممکن هست تا 2 الی 3 ماه این مشکل پیش نیاد
حتی من مسیر کامپایل فایل هم به روش زیر تغییر دادم




var folder = Environment.GetFolderPath(Environment.SpecialFolde r.LocalApplicationData);
folder = Path.Combine(folder, "Stimulsoft\\CompiledReports");
folder = Path.Combine(folder, System.Runtime.InteropServices.RuntimeEnvironment. GetSystemVersion());
var compiledReportFile = Path.Combine(folder, stiReportFactor.GetReportAssemblyCacheName());

if (File.Exists(compiledReportFile))
stiReportFactor = StiReport.GetReportFromAssembly(compiledReportFile , true);
else
{
if (!Directory.Exists(folder)) Directory.CreateDirectory(folder);
stiReportFactor.Compile(compiledReportFile);
}




پوشه مربوطه هم سطح دسترسی کامل رو داره اما باز هم مشکل برطرف نشده ویندوز مشتری هم ویندوز سرور هست نمیدونم تاثیری در این مشکل داره یا نه ممنون میشم کمک کنید

fakhravari
دوشنبه 23 خرداد 1401, 23:09 عصر
نمونه کدتون کامل بزارید

هدشی بهشتی
سه شنبه 24 خرداد 1401, 09:21 صبح
Stimulsoft.Report.StiReport stiReportFactor = new Stimulsoft.Report.StiReport();
stiReportFactor.Load(ManagementRestaurant.Properti es.Settings.Default.ShareFilePath + @"" + "stiReportFactor.mrt");
.
.
.
مقدار دهی DataTable
.
.
.
var folder = Environment.GetFolderPath(Environment.SpecialFolde r.LocalApplicationData);
folder = Path.Combine(folder, "Stimulsoft\\CompiledReports");
folder = Path.Combine(folder, System.Runtime.InteropServices.RuntimeEnvironment. GetSystemVersion());
var compiledReportFile = Path.Combine(folder, stiReportFactor.GetReportAssemblyCacheName());
if (File.Exists(compiledReportFile))
stiReportFactor = StiReport.GetReportFromAssembly(compiledReportFile , true);
else
{
if (!Directory.Exists(folder)) Directory.CreateDirectory(folder);
stiReportFactor.Compile(compiledReportFile);
}
stiReportFactor.RegData("FactorDetails", dtfilter);
stiReportFactor.RegData("DT", DT);
for (int i = 0; i < Printer.CountPaper; i++)
{
stiReportFactor.Render(false);
stiReportFactor.Print(false);
}

fakhravari
چهارشنبه 25 خرداد 1401, 18:59 عصر
توی ویندوز فرم کنار پوشه دیباگتون فولدر بندی کنید و نیاز به ادرس دهی خاصی نیست

r.Load(Application.StartupPath + @"/mrt/Report.mrt");