دسته بندی ها
11:29 1400/06/21

قرار دادن فایل های گزارش استیمول سافت در فایل exe پروژه سی شارپ

مشخصات سوال کننده :
کاربر : mojtabahakimian     امتیاز کاربر : 155     رتبه کاربر : 10
دسته بندی : سی شارپ WPF استيمول سافت

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 3417
1 نظر
mojtabahakimian : در اصل نیاز اصلی من این هست که چطور گزارش رو داخل فایل اجرایی + فونت هاش بذاریم

امتیاز کاربر : 155   رتبه کاربر : 10   تاریخ ثبت : 11:59 1400/06/21
هوش مصنوعی

پاسخ هوش مصنوعی

برای قرار دادن فایل های گزارش استیمول سافت (.mrt) داخل فایل اجرایی (.exe) پروژه سی شارپ بدون نیاز به آدرس دهی مستقیم، می توانید مراحل زیر را دنبال کنید:

1. **اضافه کردن فایل ها به پروژه:** ابتدا فایل های گزارش (.mrt) را به پروژه سی شارپ خود اضافه کنید. روی پروژه کلیک راست کنید، گزینه "Add" را انتخاب و سپس "Existing Item" را انتخاب کنید. فایل های مورد نظر را انتخاب کنید.

2. **تنظیمات Properties:** پس از اضافه کردن فایل ها، روی فایل .mrt کلیک راست کرده و Properties آن را باز کنید. در پنجره Properties، گزینه "Copy to Output Directory" را به "Copy if newer" یا "Copy always" تغییر دهید. این کار باعث می شود فایل هر بار به پوشه خروجی کپی شود.

3. **بارگذاری فایل گزارش از منابع:** هنگام بارگذاری فایل گزارش در کد خود، می توانید از روش زیر برای بارگذاری آن بدون نیاز به آدرس دهی مستقیم استفاده کنید:

using System.Reflection;
using Stimulsoft.Report;

private void LoadReport()
{
    // استفاده از Assembly.GetExecutingAssembly() برای دریافت آدرس فایل
    var assembly = Assembly.GetExecutingAssembly();
    
    // استخراج فایل .mrt از منابع
    var resourceName = "YourNamespace.MyReport.mrt"; // نام فضایی و نام فایل شما
    using (var stream = assembly.GetManifestResourceStream(resourceName))
    {
        if (stream != null)
        {
            StiReport report = new StiReport();
            report.Load(stream);
            // سایر کدهای مربوط به نمایش گزارش
        }
        else
        {
            MessageBox.Show("فایل گزارش پیدا نشد.");
        }
    }
}

در این کد به جای "YourNamespace.MyReport.mrt" نام فضایی (namespace) و نام فایل گزارش خود را وارد کنید.

با این کار، دیگر نیازی به نگه داری فایل .mrt در سیستم نیست و می توانید گزارش را به صورت مستقیم از منابع خود بارگذاری کنید. بدین ترتیب، امنیت بهتری نیز خواهید داشت.

به این پاسخ امتیاز بدهید    0
امتیاز: - رتبه: -
پاسخ دهنده : hamid_b 21:32 1400/06/21

در رابطه با خطایی که دارید لینک زیر رو ببینید :

رفع خطای Font 'x' dose not support style در استیمول سافت

 

اما در مورد اینکه فایل های گزارش رو کجا قرار بدید که توی کلاینت نمایش داده بشه شما باید در پوشه debug و یا release پروژه خودتون فایلهای گزارش رو قرار بدید. چون فایل exe و یا فایل نصبی که ایجاد می کنید و به کلاینت می برید از این دو فولدر ساخته میشه. در واقع فایل های exe، dll و همه فایل های اجرایی پروژه در این دو فولدر هست.

تفاوت debug و release در ویژوال استودیو

به این پاسخ امتیاز بدهید    0
امتیاز: 518 رتبه: 4
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود