من میخوام توی WPF سی شارپ از پروژه ام یک خروجی به صورت تَک فایل اجرایی EXE داشته باشم
که هرچیزه وابسته ای مثل عکس , گیف , فیلم و DLL هایی که داخل پروژه استفاده کردم همه داخل اون EXE باشه به طوری که هر جایی EXE بود نرم افزار بدون مشکل اجرا بشه
و نیازی به خود عکس یا گیف و ... نباشه
این موضوع رو توی اینترنت جستجو کردم به این نتیایج رسیدم :
Can .Net Application be converted into a Portable App i.e. single .exe
دوتا راه هست :
1- استفاده از ILMerge
2- اسفاده از Resource-Embedder NuGet
نتیجه : خیلی این لینک ها رو متوحه نشدم ! فقط از روش دومی استفاده کردم که Resource-Embedder رو نصب کردم که توی توضیحاتش نوشته بود خودش اتوماتیک همه (automatically be embedded as resources ) رو Embed میکنه
ولی نهایتا نتوسنتم استفاده کنم چون به صورت Release و Debug از پوشه Bin فایل اجرایی نرم افزار رو برداشتم و تست کردم درست نبود !
Publish هم گرفتم باز به صورت یک EXE خالی نبود که جای دیگه کار کنه
چطور این موضوع رو حل ؟
باتشکر از مهندسان عزیز
منظورتون از اینکه نیازی به خود عکس یا gif یا ... نباشه چی هست ؟ شما وقتی از یک سری فایل و عکس و ... در پروژه استفاده می کنید باید حتما همراه پروژه باشن. شما توی توضیحاتتون اشاره ای به دیتابیس نکردید.
خب اگر دیتابیس ندارید که کار ساده میشه. میتونید خیلی راحت یک فایل exe از پروژتون بسازید.
خب شما وقتی پروژه ویندوزی خودتون رو اجرا می کنید دو تا پوشه به نام های debug و Release در فولدر bin ایجاد میشه. توی این دو فولدر فایلهای خروجی و فایل اجرایی برنامه وجود داره.
حالا مثلا فولدر Debug رو باز کنید فایل های dll و exe رو می تونید مشاهده کنید.
در عکس بالا فایل exe اجرایی هم مشخص کردم براتون. خب شما کافیه یکی از این دو فولدر رو به کاربر بدید (ترجیحا فولدر Release رو بدید.) . همچنین میتونید از این فولدر یک فایل تکی هم درست کنید که حالت نصبی داشته باشه. (ایجاد فایل Setup از پروژه توسط نرم افزار winrar)
اما حالت دوم که حالت سختتری هست وقتی هست که شما دیتابیس هم داشته باشید. در واقع در این حالت شما می خواهید یک فایل نصبی داشته باشید که هر جا نصب میشه همه نرم افزارهای لازم مثل Sql Server یا کریستال ریپورت و ... رو هم به همراه خودش نصب کنه. این روش کمی پیچیده تر هست و باید حتما پروژه رو دید چون ممکنه نیاز باشه برخی از کدها برای این کار تغییر کنه.
ولی در مجموع برای انجام این کار هم باید از Install Shield استفاده کنید.
تاریخ :
1402/09/08
- ساعت :
07:34:00 PM
- بازدید :
1157
- پاسخ :
1
|
تاریخ :
1402/09/21
- ساعت :
11:10:00 PM
- بازدید :
595
- پاسخ :
1
|
تاریخ :
1403/07/13
- ساعت :
12:06:00 PM
- بازدید :
346
- پاسخ :
1
|
تاریخ :
1403/06/24
- ساعت :
08:52:00 PM
- بازدید :
313
- پاسخ :
1
|
تاریخ :
1398/09/14
- ساعت :
01:58:00 PM
- بازدید :
4263
- پاسخ :
1
|
تاریخ :
1398/09/16
- ساعت :
11:41:00 AM
- بازدید :
4279
- پاسخ :
1
|
تاریخ :
1398/09/07
- ساعت :
02:15:00 PM
- بازدید :
3875
- پاسخ :
5
|
تاریخ :
1403/05/16
- ساعت :
05:43:00 AM
- بازدید :
654
- پاسخ :
0
|
تاریخ :
1398/09/05
- ساعت :
06:04:00 PM
- بازدید :
3170
- پاسخ :
2
|
تاریخ :
1398/09/08
- ساعت :
11:38:00 PM
- بازدید :
3250
- پاسخ :
1
|
تاریخ :
1403/08/29
- ساعت :
07:15:00 PM
- بازدید :
58
- پاسخ :
0
|
تاریخ :
1403/08/18
- ساعت :
10:40:00 AM
- بازدید :
98
- پاسخ :
0
|
تاریخ :
1402/07/23
- ساعت :
04:01:00 PM
- بازدید :
1031
- پاسخ :
1
|
تاریخ :
1403/05/30
- ساعت :
09:22:00 AM
- بازدید :
426
- پاسخ :
1
|
تاریخ :
1402/08/01
- ساعت :
06:25:00 PM
- بازدید :
930
- پاسخ :
1
|
تاریخ :
1402/08/16
- ساعت :
10:38:00 AM
- بازدید :
1348
- پاسخ :
1
|
تاریخ :
1398/08/17
- ساعت :
01:27:00 AM
- بازدید :
4796
- پاسخ :
1
|
تاریخ :
1402/09/08
- ساعت :
07:34:00 PM
- بازدید :
1157
- پاسخ :
1
|
تاریخ :
1402/09/21
- ساعت :
11:10:00 PM
- بازدید :
595
- پاسخ :
1
|
تاریخ :
1403/07/27
- ساعت :
03:21:00 PM
- بازدید :
205
- پاسخ :
1
|