PDA

View Full Version : کدام رفرنس ها باید کنار فایل اجرایی قرار بگیرند



negar.rafie
جمعه 30 مرداد 1394, 16:23 عصر
سلام
همونطور که میدونید باید برای یک سری از کدها فضای نامهایی اضافه بشه
بعد برای کار کردن بعضی از فضای نام ها باید رفرنس و فایل dll اضافه بشه
حالا چه رفرنس هایی باید کنار فایل اجرایی قرار بگیرند تا در سیستم کاربر برنامه به مشکل بر نخورد؟

محمد رضا فاتحی
شنبه 31 مرداد 1394, 07:49 صبح
اگه با نرم افزار های ستاپ ساز اقدام به ساخت ستاپ بکنید ، خودش رفرنس های مورد نیاز برای اجرای برنامه رو فراخوانی می کنه

negar.rafie
شنبه 31 مرداد 1394, 09:59 صبح
خوب یعنی اگر من استیمول سافت را نصب کنم روی سیستم کاربر نیازی نیست dll هاشو را کنار فایل اجرایی قرار بدم؟

محمد رضا فاتحی
شنبه 31 مرداد 1394, 10:02 صبح
چرا نیازه وگرنه نرم افزارتون درست کار نمی کنه...
بسته به اینکه کدام امکانات استیمول رو استفاده کردید توی پروژه باید رفرنس هاشم اضافه کنید

mandanim
شنبه 31 مرداد 1394, 10:09 صبح
نه آقا
این چه حرفیه می زنی
اگه شما استیمول رو نصب کردی رو سیستم طرف نیازی به رفرنسهاش نیست
تو رو خدا جواباتون درست باشه
همینطوری رو هوا یک نفر رو راهنمایی نکنید
لزومی نداره نصب کنی
با جابجایی رفرنس مورد نظر دیگه نیازی به این نرم افزار (بجز Crystal مزخرف)نیست

محمد رضا فاتحی
شنبه 31 مرداد 1394, 10:33 صبح
شما مطمئنید و با این صراحت حرف می زنید؟؟
استیمول هنگام اجرا نیازه که dll هاش همراه با نرم افزار باشه اگه روی سیستم نصب نیست....

یکی که stimul روی سیستمش نصب نیست اینو خواهشا اجرا کنه ببینه اجرا میشه یا نه

negar.rafie
شنبه 31 مرداد 1394, 10:34 صبح
نه آقا
این چه حرفیه می زنی
اگه شما استیمول رو نصب کردی رو سیستم طرف نیازی به رفرنسهاش نیست
تو رو خدا جواباتون درست باشه
همینطوری رو هوا یک نفر رو راهنمایی نکنید
لزومی نداره نصب کنی
با جابجایی رفرنس مورد نظر دیگه نیازی به این نرم افزار (بجز Crystal مزخرف)نیست

اره اون که نصب نمیکنم فقط دوستمون گفتند رفرنس ها خودشون با ستاپ اضافه میشن منم گفتند برای این چطور
من گیج شدم
حالا بالاخره کدام رفرنس ها را باید کپی کنیم کنار فایل اجرایی ؟

محمد رضا فاتحی
شنبه 31 مرداد 1394, 10:47 صبح
خانم رفیعی شما اگه با نرم افزار ستاپ ساز (Advanced installer) کار کنید ...خودش موقعی که فایل پروژه رو بهش بدید رفرنس ها رو خودش میاره و من تا جایی که تا حالا پروژه نوشتم بدون رفرنس استیمول وقتی همراه پروژتون نباشه برنامه کار نمی کنه نمونش رو هم فرستادم روی سیستم بدون استیمول اجرا کنید خطا میده حالا اینکه این دوستمون چطور امتحان کردن باید ازشون پپرسید... شاید من روشش رو بلد نیستم...!!!
ولی مثلا برای اجرای استیمول اینها باید کنار پروژتون باشه
Stimulsoft.Base
Stimulsoft.Controls
Stimulsoft.Database
Stimulsoft.Report

abdullah20
شنبه 31 مرداد 1394, 11:16 صبح
سلام
دوست عزیز rezafatehy ناراحت نشید شما درست میگید اگر dllهای استیمول کنار فایل اجرایی نباشه برنامه کار نخواهد کرد
فکر کنم متن پاسخ دوستمون mandanim را درست نخوندید
ایشون گفتند اگر استیمول در سیستم نصب باشه نیازی نیست dllها کنار فایل اجرایی قرار بگیره
در مورد سوال خانم رفیعی:
ببینید رفرنس های خود دات نت که نیازی نیست کنار فایل اجرایی قرار بگیرند چرا؟چون شما روی سیستم کاربر دات نت فریم ورک را نصب میکنید و از این این پوشه فراخوانی میشوند:
C:\Windows\Microsoft.NET\Framework
ولی در مواقعی شما از نرم افزارهای جانبی و ابزارهای جانبی مثل همین استیمول استفاده میکنید اینجاست که باید dllهای مربوطه کنار فایل اجرایی قرار بگیره و نیازی هم به نصب استیمول نیست چون رفرنس هاش کنار فایل اجرا وجود داره شاید
باز هم شاید بگید همین استیمول کدام dllهاش:شما از هر امکانی که استفاده کنید رفرنس ها به صورت اتوماتیک اضافه میشوند
در موارد دیگر مثلا استفاده کریستال ریپورت باید موتور کریستال ریپورت روی سیستم کاربر نصب بشه
حالا شاید شما بگید برای دات نت هم میشه این کار را کرد که با کپی کردن رفرنس هایی که در پروژه استفاده کردیم نیازی به نصب دات نت نباشه؟در پاسخ باید بگم بله میشه ولی نباید به هیچ عنوان از این روش استفاده کنید و حتما باید دات نت را روی سیستم کاربر نصب کنید
روش کار هم مثلا استفاده از xenocode می باشد
البته امروزه با امدن سیستم عامل های متعدد و جدید دیگه نیازی به این کارها نیست چون دات نت نصبه
موفق باشید

veniz2008
شنبه 31 مرداد 1394, 13:00 عصر
سلام.
در تکمیل صحبت های دوستان :
لزوما هر رفرنسی که در پروژه استفاده می کنید بصورت خودکار به درون پوشه Debug (کنار فایل exe) اضافه نمیشه یا بصورت خودکار به فایل setup اضافه نمیشه. در واقع هر dll در پنجره Properties یک گزینه Copy Local داره که اگر بر روی true تنظیم بشه، بعد از build پروژه یک کپی از فایل dll مربوطه به کنار فایل exe نرم افزار اضافه میشه ولی برای بعضی از این dll هایی که در نرم افزار استفاده می کنیم گزینه Copy Local غیرفعال هست (نمیشه مقدارش رو true کرد). این نکته رو بخاطر این گفتم که گول این مورد رو نخورید که فکر کنید هنگام ساخت setup حتما و لزوما همه dll ها کنار فایل exe هستند یا اینکه درون نرم افزار setupساز تمام dll ها بصورت خودکار و با انتخاب فایل exe به پروژه اضافه میشن چون اینطور نیست. بعنوان مثال من توی یکی از پروژه هام بنابر نیاز مشتری برای گزارش هام از رفرنس مربوط به Excel خود دات نت استفاده کردم. توضیح اینکه اولا این dll قابلیت Copy Local اش غیرفعال هست (بصورت اتومات نمیره کنار فایل اجرایی قرار بگیره هرچند میشه دستی کنار فایل exe اضافش کرد) ثانیا موقع ساخت setup باید خودتون برید و مستقیما فایل مربوطه رو انتخاب و اضافه کنید (با انتخاب فایل exe خودش بصورت خودکار اضافه نمیشه) و اگر خودتون مستقیما اون dll رو انتخاب و اضافه نکنید با وجود اینکه فایل setup شما بدون مشکل ساخته میشه ولی بعد از نصب و استفاده مشتری از نرم افزار به خطا برمیخورید که طبیعی هم هست چون dll مربوطه وجود نداره.
در کل شما بعنوان یه برنامه نویس باید بدونید چه dll هایی رو در پروژتون استفاده کردید. این dll ها میتونه استیمول باشه، یک تکست باکس سفارشی باشه، یه تقویم سفارشی باشه، کلاس های آماده خود دات نت برای کار با Office باشه که نیازه dll مربوطه به پروژه اضافه بشه و ...
هر چیزی رو که اضافه کردید، بایستی به سیستم مشتری منتقل کنید.
موفق باشید.

abdullah20
شنبه 31 مرداد 1394, 13:26 عصر
لزوما هر رفرنسی که در پروژه استفاده می کنید بصورت خودکار به درون پوشه Debug (کنار فایل exe) اضافه نمیشه یا بصورت خودکار به فایل setup اضافه نمیشه. در واقع هر dll در پنجره Properties یک گزینه Copy Local داره که اگر بر روی true تنظیم بشه، بعد از build پروژه یک کپی از فایل dll مربوطه به کنار فایل exe نرم افزار اضافه میشه


بله دوست عزیز منظور من هم اضافه شدن اتوماتیک کنار فایل اجرایی نبود منظورم اضافه شدن به شاخه References بود که باید گزینه Copy Local روی true تنظیم بشه