PDA

View Full Version : سوال: چطور ميشه برنامه تحت دات نت رو بدون نصب بودن دات نت فريم ورك اجرا كرد؟



Armin060
دوشنبه 26 اسفند 1387, 13:14 عصر
چطور ميشه اين كار رو كرد؟؟؟؟

shervin_agh67
دوشنبه 26 اسفند 1387, 14:53 عصر
قبلا زیاد بحث شده هیچ راهی نداره . الا اینکه برنامه رو به win32 تبدیل کنید .

Armin060
دوشنبه 26 اسفند 1387, 18:39 عصر
كار كه نشد نداره...من يك برنامه تحت دات نت گرفتم، كه در كنار فايل exe فايل های dll دات نت فريم ورك بود. فقط اون هایی كه برنامه ازش استفاده می كرد. مثل System.dll و ...
من چون دات نت دارم اجرا ميشه، ولی كامپيوتر بی دات نت هنوز گيرم نيومده كه بخوام امتحان كنم. ولی بايد بدون دات نت هم اجرا بشه. مگر اينكه كسی كه اين كار رو كرده بايد ديوانه باشه

meysam_pro
سه شنبه 27 اسفند 1387, 08:45 صبح
اگر برنامه رو Publish بکنین، میتونین بگین که فایل های فریم ورک رو بزاره تو برنامه نصبی.
جالبش اینجاست که علاوه بر فایل های فریم ورک ؛ فایل های کریستال ریپورت و SQL x86 رو هم میتونین بزارین(کریستال واسه گزارشه و SQL هم واسه کار با دیتابیس به صورت تکی هست).
واسه این کار میتونی یه install از new project که تو ی Other project هست شروع کنی.

احمد سامعی
سه شنبه 27 اسفند 1387, 11:47 صبح
اگر برنامه رو Publish بکنین، میتونین بگین که فایل های فریم ورک رو بزاره تو برنامه نصبی.
جالبش اینجاست که علاوه بر فایل های فریم ورک ؛ فایل های کریستال ریپورت و SQL x86 رو هم میتونین بزارین(کریستال واسه گزارشه و SQL هم واسه کار با دیتابیس به صورت تکی هست).
واسه این کار میتونی یه install از new project که تو ی Other project هست شروع کنی.

من چند تا از برنامه هام واسه تست Publish كردم اما چيزي دستگيرم نشد چه سودي غير از مطالبي كه بالا گفتيد داره !؟
عيبش هم اين كه هر بار كه برامه رو ران مي كني چك مي كنه كانكشن و از اين حرفا...
مي شه راهنمايي كنيد چه سودي داره ؟


كار كه نشد نداره...من يك برنامه تحت دات نت گرفتم، كه در كنار فايل exe فايل های dll دات نت فريم ورك بود. فقط اون هایی كه برنامه ازش استفاده می كرد. مثل System.dll و ...
من چون دات نت دارم اجرا ميشه، ولی كامپيوتر بی دات نت هنوز گيرم نيومده كه بخوام امتحان كنم. ولی بايد بدون دات نت هم اجرا بشه. مگر اينكه كسی كه اين كار رو كرده بايد ديوانه باشه

دوست عزيز واسه تست بدون فريم ورك زحمتش 3 دقيقه پاك كردن فريم ورك بعد كاري مي خواي تست كني بكن دوباره نصبش كني:لبخند: (من براي تست Setup برنامه انجام مي دم)

shervin_agh67
سه شنبه 27 اسفند 1387, 12:36 عصر
ببینید با انجام این کار فایلهای نصب دات نت فریم ورک و ... رو در پوشه برنامتون کپی می کنه نه اینکه DLL ها رو کپی کنه . و شما بازم نیازمند نصب این برنامه ها هستید فقط تنها خوبیش حمل پذیر بودنشه . تازه به فرض اینکه شما DLL ها رو هم کپی کنید با CLR می خواید چی کار کنید ؟ برنامه شما برای اجرا نیاز به CLR داره . چون درسته که شما فایل exe تولید کردید ولی برای اجراش نیاز به CLR داره . اگه می خوای دقیق تر این موضوع رو بفهمی برنامتو با IL Disassembler باز کن و می بینی که کد میانی تولید کرده نه کد اسمبلی بنابراین سیستم عاملت نمی تونه این کد رو متوجه بشه و فقط CLR می فهمه . حلا اگه برنامه ای پیدا کنی که این کد رو به اسمبلی تبدیل کنه اون موقع می تونی DLL هایی که گفتی رو در پوشه برنامت کپی کنی و شاید کار کنه (اونم باز مطمئن نیستم)

Armin060
سه شنبه 27 اسفند 1387, 20:54 عصر
ببینید با انجام این کار فایلهای نصب دات نت فریم ورک و ... رو در پوشه برنامتون کپی می کنه نه اینکه DLL ها رو کپی کنه . و شما بازم نیازمند نصب این برنامه ها هستید فقط تنها خوبیش حمل پذیر بودنشه . تازه به فرض اینکه شما DLL ها رو هم کپی کنید با CLR می خواید چی کار کنید ؟ برنامه شما برای اجرا نیاز به CLR داره . چون درسته که شما فایل exe تولید کردید ولی برای اجراش نیاز به CLR داره . اگه می خوای دقیق تر این موضوع رو بفهمی برنامتو با IL Disassembler باز کن و می بینی که کد میانی تولید کرده نه کد اسمبلی بنابراین سیستم عاملت نمی تونه این کد رو متوجه بشه و فقط CLR می فهمه . حلا اگه برنامه ای پیدا کنی که این کد رو به اسمبلی تبدیل کنه اون موقع می تونی DLL هایی که گفتی رو در پوشه برنامت کپی کنی و شاید کار کنه (اونم باز مطمئن نیستم)

دقيقا مشكل همين جاست، كه دات نت فريم ورك مياد و كد IL رو به اسمبلی تبديل ميكنه. ولی يه شركت كه با .net برنامه می نويسه كه الكی نمياد dll هایي كه با نصب .net framework نصب مشن رو كنار برنامه قرار بده.

راستی خود دات نت امكانی واسه اين نداره كه برنامه رو به صورت اسمبلی توليد كنه؟ البته ميدونم كه برنامه های زيادی برای اين كار هست. ولی اون وقت ميشه يه چيزی تو مايه های ++C. منظورم اينه كه ديگه رو همه ی كامپيوتر ها اجرا نميشه و ميدونم كه يكی از مهم ترين خواص دات نت اينه كه باعث ميشه تا تو همه كامپيوتر هایی كه دات نت دارن اجرا بشه. خلاصه بگم، برنامه ای هست كه فايل exe تحت دات نت رو به اسمبلی تبديل كنه؟ البته به صورتی كه تو همه كامپوتر ها يا حداقل بيشترشون اجرا بشه

meysam_pro
سه شنبه 27 اسفند 1387, 21:23 عصر
من چند تا از برنامه هام واسه تست Publish كردم اما چيزي دستگيرم نشد چه سودي غير از مطالبي كه بالا گفتيد داره !؟
عيبش هم اين كه هر بار كه برامه رو ران مي كني چك مي كنه كانكشن و از اين حرفا...
مي شه راهنمايي كنيد چه سودي داره ؟

درست کردن setup (http://farasun.wordpress.com/2007/07/29/creating-setup-projects-in-vsnet2005)
دیگه نیاز به نصب express برنامه ها نداره.فایل اسمبلی رو هم میزاره تو فایل نصبی.
dependency های برنامه رو هم نصب میکنه(.net رو یقین ندارم ولی فکر کنم بشه)

shervin_agh67
چهارشنبه 28 اسفند 1387, 14:41 عصر
دقيقا مشكل همين جاست، كه دات نت فريم ورك مياد و كد IL رو به اسمبلی تبديل ميكنه. ولی يه شركت كه با .net برنامه می نويسه كه الكی نمياد dll هایي كه با نصب .net framework نصب مشن رو كنار برنامه قرار بده.


احتمالا طبق چیزی که گفتید برنامشون رو به اسمبلی تبدیل می کنن و DLL ها رو کنارش می گذارن . البته من نه این کار رو کردم و نه برنامشو رو می شناسم ولی اگر برنامه ای رو به اسمبلی تبدیل کنی دیگه کپی کردن اون DLL ها فایده ای نداره چون اگر شما به اون DLL ها Refrence بدی چون با .net نوشته شده باید .netframework رو هم نصب کنی که ...:متفکر:

mdssoft
چهارشنبه 28 اسفند 1387, 17:20 عصر
خوب این کار خوبی نیست ، چون دات نت فریم ورک چیزای دیگری رو هم مثل garbage collection, verifiable code, reflection, security نسب می کنه .
اما با این وجود میشه : بهترین راه هم استفاده از Xenocode Virtual Application Studio 2009 (http://www.componentsource.com/products/xenocode-virtual-application-studio/index.html) است .

Armin060
چهارشنبه 28 اسفند 1387, 17:25 عصر
فكر كنم كه Xenocode برنامه رو به اسمبلی تبديل نميكنه. بلكه كد ميانی فايل اجرايی يا dll رو دست كاری ميكنه تا به دست آموردن كد واقعی برنامه سخت تر بشه. اين طور نيست؟

seven7777777
پنج شنبه 29 اسفند 1387, 07:01 صبح
سلام
من شنیده بوم با برنامه نویسی Native یا یه همچین چیزایی میشه به نتیجه رسید !!!
{ البته شنیدن کی بود مانند دیدن }
کسی در این مورد اطلاعاتی داره ؟؟؟

sinashahab
پنج شنبه 29 اسفند 1387, 20:42 عصر
خوب کسی که انگلیسیش خوبه تو سایت ماکروسافت اعلام کنه .

mdssoft
پنج شنبه 29 اسفند 1387, 21:02 عصر
خوب کسی که انگلیسیش خوبه تو سایت ماکروسافت اعلام کنه .
چیو اعلام کنه ؟

shervin_agh67
پنج شنبه 29 اسفند 1387, 21:34 عصر
سلام
من شنیده بوم با برنامه نویسی Native یا یه همچین چیزایی میشه به نتیجه رسید !!!
{ البته شنیدن کی بود مانند دیدن }
کسی در این مورد اطلاعاتی داره ؟؟؟

اگر منظورت از برنامه نویسی native اینه که برنامتون رو با زبانهای native بنویسید خوب مسلمه که با برنامه نویسی native میشه . ولی به شرطی اینکه تمام برنامتون رو با زبانهای native مثل Cpp بنویسی(که کار بسیار سختیه) . چون اگه دوباره داخل اون زبان بخوای به DLL های فریم ورک ارجاع بدی که ...:لبخند: بعدشم ما می خوایم برنامه رو تحت دات نت فریم ورک بنویسیم .

sinashahab
پنج شنبه 29 اسفند 1387, 22:08 عصر
چیو اعلام کنه ؟

تو فروم ماکروسافت سوال رو مطرح کنه .

امروزه 70% برنامه ها با .net نوشته میشه که 50% اون ها بدون نصب دات نت فریم ورک کار می کنه . پس اون ها چی کار میکنن . مثل : دانلود منجر ها

mdssoft
پنج شنبه 29 اسفند 1387, 22:13 عصر
امروزه 70% برنامه ها با .net نوشته میشه که 50% اون ها بدون نصب دات نت فریم ورک کار می کنه . پس اون ها چی کار میکنن . مثل : دانلود منجر ها70 % برنامه ها با دات نت هست :متفکر:
میشه در این باره Reference بدی !

این سوال اینجا مطرح شده :
http://www.codeproject.com/script/Forums/View.aspx?fid=1649&select=2969425&fr=282#xx2969425xx

shervin_agh67
پنج شنبه 29 اسفند 1387, 22:30 عصر
خوب کسی که انگلیسیش خوبه تو سایت ماکروسافت اعلام کنه .
اینم متنش (البته زیاد انشای خوبی نداره ولی طرف می فهمه چی میگی):



subject : execute a .net App without installing FrameWork.
as you know while you publish a .net App you have to install
.netFrameWork on every system that you want to execute it .
so how can we do for execute a .net App without installing Framework.

حالا تو هر سایتی دوست داشتی درجش کن .

mostafaaa
پنج شنبه 29 اسفند 1387, 22:36 عصر
سلام دوستان من
نرم افزارهای خوبی برای تبدیل Application های DotNet به native binary وجود داره که یکی از بهترین هاش Xenocode Postbuild هستش که میتونید نسخه Free اون را از سایتش (http://www.xenocode.com/Products/Postbuild-for-NET/) دانلود کنید.
با استفاده از این نرم افزار نیازی دیگه به نصب FreamWork ندارید.

اینم کمی اطلاعات بیشتر در مورد نحوه کارکردش . (http://www.xenocode.com/Products/Postbuild-for-NET/Run-NET-with-no-Framework-install.aspx)
یا علی

shervin_agh67
پنج شنبه 29 اسفند 1387, 22:47 عصر
اینم لینک جالبیه در این زمینه :
http://social.msdn.microsoft.com/Forums/en-US/csharpgeneral/thread/0b9cb54a-0d84-4559-bf7e-e50e99a9f2c9/

majid325
جمعه 30 اسفند 1387, 02:07 صبح
در تکمیل توضیحات دوستان :
با C++.Net میشه برنامه ای نوشت که نیازی به فریم ورک نداشته باشه.

احمد سامعی
جمعه 30 اسفند 1387, 08:48 صبح
سلام دوستان من
نرم افزارهای خوبی برای تبدیل Application های DotNet به native binary وجود داره که یکی از بهترین هاش Xenocode Postbuild هستش که میتونید نسخه Free اون را از سایتش (http://www.xenocode.com/Products/Postbuild-for-NET/) دانلود کنید.
با استفاده از این نرم افزار نیازی دیگه به نصب FreamWork ندارید.

اینم کمی اطلاعات بیشتر در مورد نحوه کارکردش . (http://www.xenocode.com/Products/Postbuild-for-NET/Run-NET-with-no-Framework-install.aspx)
یا علی

دوست عزيز لينكتون خيلي جالب منون
اما من زبانم زياد خوب نيست طول مي كشه ترجمه كنم مي شه 2 سؤال دارم من راهنمايي كنيد:

1. با استفاده از اين برنامه DLL هايي كه خودمون مي نويسم چي مي شه (كامپونت يا كلاس)
آيا اون ها رو هم ترجمه مي كنه ؟ و رفرنس هاي فريم ورك رو هم اتچ مي كنه ؟

2. با استفاده از برنامه Free مشكلي براي برنامه ما به وجود نمي ياره يعني برنامه ما رو تريل چيزي نمي كنه برمبنا خودش ؟

منظورم اين كه يكمدرباره نحوه كارش توضيح بدين چون اين برنامه خيلي مفيد

Armin060
یک شنبه 02 فروردین 1388, 01:35 صبح
سل آم.
از همه دوستانی كه من رو در اين زمينه همراهی كردن تشكر ميكنم. و


با C++.Net میشه برنامه ای نوشت که نیازی به فریم ورک نداشته باشه. همون طور كه از اسم C++.Net مشخصه، برنامه هایی كه به اين زبان نوشته ميشن برای اجرا نياز به دات نت دارند.


نرم افزارهای خوبی برای تبدیل Application های DotNet به native binary وجود داره که یکی از بهترین هاش Xenocode Postbuild هستش که میتونید نسخه Free اون را از سایتش (http://www.xenocode.com/Products/Postbuild-for-NET/) دانلود کنید.
با استفاده از این نرم افزار نیازی دیگه به نصب FreamWork ندارید.حرف شما كاملا درسته، ولی برنامه هایی مثل Xenocode فقط برنامه های دات نت رو به باينری تبديل ميكنند، نه چيز ديگه. اينطوری اون برنامه فقط روی اون CPU و ويندوزی كه تبديل انجام شده كار ميكنه، حسن دات نت همين جا مشخص ميشه. در واقع هر برنامه ای كه قراره به صورت باينری در بياد، فايل exe بعد از كامپايل فقط روی سيستمی اجرا ميشه كه اون برنامه روش كامپايل شده. برنامه های دات نت از كد ميانی تشكيل شدن كه، كار دات نت فريم ورك اينه كه اون كد رو به زبان باينری در بياره. يعنی يك كد IL روی سيستم كاربر كامپايل ميشه و به زبان باينری در مياد. پس چون رو سيستم كاربر كامپايل شده، برنامه در اون سيستم اجرا ميشه. حسن دات نت همينه، كه روی همه كامپيوتر هایی كه دات نت فريم ورك دارن اجرا ميشه. شركت هایی مثل Adobe يا Microsoft و ... كه برنامه هاشون رو با ++C مينويسن و كامپايل ميكنند، فقط روی سيستم خودشون كار ميكنه و برای رفع اين مشكل، از Setup استفاده كردن. هر كد مخصوص به هر كامپيوتر رو مينويسن و موقع نصب فايل های اون سيستم عامل و CPU نصب ميشه. البته امكان داره، برنامه هایی واسه خودشون درست كرده باشن كه اين كا رو انجام بده..بگذريم.
با اين اوضاع من ميخوام برنامه ی تحت دات نت رو به باينری تبديل كنم، خوب اين يعنی فقط رو سيستم خودم اجرا ميشه، ولی من ميخوام طوری تبديل بشه كه روی سيستم همه اجرا بشه. در واقع مثل برنامه های شركت ها.

Armin060
چهارشنبه 05 فروردین 1388, 03:17 صبح
كسي نيست كه يه همچين برنامه ای داشته باشه؟

arash1718
چهارشنبه 05 فروردین 1388, 11:01 صبح
احتمالا طبق چیزی که گفتید برنامشون رو به اسمبلی تبدیل می کنن و DLL ها رو کنارش می گذارن . البته من نه این کار رو کردم و نه برنامشو رو می شناسم ولی اگر برنامه ای رو به اسمبلی تبدیل کنی دیگه کپی کردن اون DLL ها فایده ای نداره چون اگر شما به اون DLL ها Refrence بدی چون با .net نوشته شده باید .netframework رو هم نصب کنی که ...:متفکر:

نه لزوما ! dll یه نوع dynamic library هست!

arash1718
چهارشنبه 05 فروردین 1388, 11:12 صبح
حرف شما كاملا درسته، ولی برنامه هایی مثل Xenocode فقط برنامه های دات نت رو به باينری تبديل ميكنند، نه چيز ديگه. اينطوری اون برنامه فقط روی اون CPU و ويندوزی كه تبديل انجام شده كار ميكنه

مطمئنی؟
------

shervin_agh67
پنج شنبه 06 فروردین 1388, 19:35 عصر
سل آم.
از همه دوستانی كه من رو در اين زمينه همراهی كردن تشكر ميكنم. و

همون طور كه از اسم C++.Net مشخصه، برنامه هایی كه به اين زبان نوشته ميشن برای اجرا نياز به دات نت دارند.

حرف شما كاملا درسته، ولی برنامه هایی مثل Xenocode فقط برنامه های دات نت رو به باينری تبديل ميكنند، نه چيز ديگه. اينطوری اون برنامه فقط روی اون CPU و ويندوزی كه تبديل انجام شده كار ميكنه، حسن دات نت همين جا مشخص ميشه. در واقع هر برنامه ای كه قراره به صورت باينری در بياد، فايل exe بعد از كامپايل فقط روی سيستمی اجرا ميشه كه اون برنامه روش كامپايل شده. برنامه های دات نت از كد ميانی تشكيل شدن كه، كار دات نت فريم ورك اينه كه اون كد رو به زبان باينری در بياره. يعنی يك كد IL روی سيستم كاربر كامپايل ميشه و به زبان باينری در مياد. پس چون رو سيستم كاربر كامپايل شده، برنامه در اون سيستم اجرا ميشه. حسن دات نت همينه، كه روی همه كامپيوتر هایی كه دات نت فريم ورك دارن اجرا ميشه. شركت هایی مثل Adobe يا Microsoft و ... كه برنامه هاشون رو با ++C مينويسن و كامپايل ميكنند، فقط روی سيستم خودشون كار ميكنه و برای رفع اين مشكل، از Setup استفاده كردن. هر كد مخصوص به هر كامپيوتر رو مينويسن و موقع نصب فايل های اون سيستم عامل و CPU نصب ميشه. البته امكان داره، برنامه هایی واسه خودشون درست كرده باشن كه اين كا رو انجام بده..بگذريم.
با اين اوضاع من ميخوام برنامه ی تحت دات نت رو به باينری تبديل كنم، خوب اين يعنی فقط رو سيستم خودم اجرا ميشه، ولی من ميخوام طوری تبديل بشه كه روی سيستم همه اجرا بشه. در واقع مثل برنامه های شركت ها.

زمانیکه شما یک برنامه رو با سی ++ می نویسی هنگامی که قصد انتشار اون رو دارید یک setup می سازید و اون برنامه به علاوه دوتا فایل که Manifest برنامه شما هست و در درایو ویندوزتون قرار داره رو پکیج می کنی و همه می تونن نصبش کنن . اگر این چیزی که شما می گید واقعا صحت داشت یعنی ما به زمان داس برگشتیم و هنوز برای تولید برنامه هامون مجمو عه ای از سخت افزارها رو پشتیبانی می کنیم و بقیه رو نه . خصوصیت بارز ویندوز همینه که شما رو از سخت افزار جدا می کنه . البته بستگی به برنامه ای که مینویسید هم داره مثلا ماکروسافت برای ساخت سیستم عامل هنوز همون مشکلات رو داره و یا برنامه هایی که با سخت افزار های خاص تعامل دارن . در مورد ایم برنامه هایی که شما رو از نصب دات نت فریم ورک خلاص میکنه من هنوز تست نکردم ولی مسلما اون شرکت کلی وقت و سرمایه نمی گذاره که یک همچنین کاری بکنه .


نه لزوما ! dll یه نوع dynamic library هست!

خوب یعنی به نظر شما اون کدها نیاز به ترجمه ندارن ؟ یعنی ارجاعاتی که به فریم ورک داده شده نیاز نیست کامپایل بشه ؟! می تونی خودت تست کنی . یک برنامه سی ++ بنویس و توش یک DLL ی که با دات نت ساخته شده رو صدا بزن(البته نوشتنش ترفند داره) اگر روی سیستمی که دات نت فریم ورک روش نصب نیست اجرا کنی موقعی که به اون فایل کتابخانه ای ارجاع میدی RunTime Error می ده .

arash1718
جمعه 07 فروردین 1388, 11:06 صبح
خوب یعنی به نظر شما اون کدها نیاز به ترجمه ندارن ؟ یعنی ارجاعاتی که به فریم ورک داده شده نیاز نیست کامپایل بشه ؟! می تونی خودت تست کنی . یک برنامه سی ++ بنویس و توش یک DLL ی که با دات نت ساخته شده رو صدا بزن(البته نوشتنش ترفند داره) اگر روی سیستمی که دات نت فریم ورک روش نصب نیست اجرا کنی موقعی که به اون فایل کتابخانه ای ارجاع میدی RunTime Error می ده .

نه تنها ارجاعات به فریم ورک بلکه ارجاعات به بقیه لایبری ها و dll ها هم ممکنه پیش بیاد! ولی این دلیل نمیشه که dll وابسته به .NET باشه. اون RunTime Errorواسه اینه که ریفرنسی که ازش استفاده کردی موجود نیست. مثل وقتی که کد می نویسی و باید همه رفرنس هات رو دقیق مشخص کنی. برای اطلاعات بیشتر یه سرچ در مورد dynamic library و static library بکن.
dll = dynamic link library

shervin_agh67
شنبه 08 فروردین 1388, 00:39 صبح
نه تنها ارجاعات به فریم ورک بلکه ارجاعات به بقیه لایبری ها و dll ها هم ممکنه پیش بیاد! ولی این دلیل نمیشه که dll وابسته به .NET باشه. اون RunTime Errorواسه اینه که ریفرنسی که ازش استفاده کردی موجود نیست. مثل وقتی که کد می نویسی و باید همه رفرنس هات رو دقیق مشخص کنی. برای اطلاعات بیشتر یه سرچ در مورد dynamic library و static library بکن.
dll = dynamic link library
من فکر می کنم منظور من رو درست متوجه نشدید .
در مورد اون مثال هم نه اتفاقا رفرنسش موجود بود . من این مساله رو تو حالتهای مختلف تست کردم یک بار دات نت فریم ورک رو نصب نکردم و برنامه رو اجرا کردم و خطا داد . بار بعدی نصب کردیم و هیچ مشکلی نداشت . اصلا چیزی که شما می گید با عقل جور درنمیاد . شما مفهوم dynamic lib رو اشتباه متوجه شدید : کتابخانه پیوند پویا (http://en.wikipedia.org/wiki/Library_(computing)#Dynamic_linking (http://en.wikipedia.org/wiki/Library_%28computing%29#Dynamic_linking))
شما در حقیقت به یک کتابخانه ی پویا که می تونه کدش تغییر کنه و وابسته به برنامه اصلی نیست ارجاع میدید که کد کتابخانه های ایجاد شده به زبان دات نت IL هست خوب این IL رو کی به غیر از .netFrameWork می فهمه ؟ اگه کتابخانه شما با زبانهای natvie مثل سی++ نوشته بشه بله حرف شما درسته .

arash1718
شنبه 08 فروردین 1388, 11:15 صبح
من فکر می کنم منظور من رو درست متوجه نشدید .


شاید!



شما در حقیقت به یک کتابخانه ی پویا که می تونه کدش تغییر کنه


منظور از داینامیک این نیست که کدش تغییر میکنه! یعنی وابسته به زبان خاصی نیست و کدش به exe شما اضافه نمیشه!



کد کتابخانه های ایجاد شده به زبان دات نت IL هست خوب این IL رو کی به غیر از .netFrameWork می فهمه ؟

ویندوز!

دوست عزیز قصد من کمکه و و قتی شما reference ارائه میدی من حتما مطالعه می کنم اون رو.

shervin_agh67
شنبه 08 فروردین 1388, 12:21 عصر
ویندوز!


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

احمد سامعی
یک شنبه 09 فروردین 1388, 10:13 صبح
قبلا زیاد بحث شده هیچ راهی نداره . الا اینکه برنامه رو به win32 تبدیل کنید .

مي شه بگيد چطور مي شه #C به Win32 تبديل كرد ؟
و منظورتون چيه ؟ (تو ++C همچين پروژه اي مي شه ايجاد كرد اما تو #C من نديم !)

shervin_agh67
یک شنبه 09 فروردین 1388, 13:22 عصر
مي شه بگيد چطور مي شه #C به Win32 تبديل كرد ؟
و منظورتون چيه ؟ (تو ++C همچين پروژه اي مي شه ايجاد كرد اما تو #C من نديم !)
بله این کار به طور مستقیم انجام پذیر نیست و توسط نرم افزارهای دیگه باید این کار انجام بشه . من یک بار این کار رو انجام دادم ولی نتیجه زیاد جالبی نداد . به این صورت که برنامه ای که نوشتید رو اجرا کنید تا به کد اسمبلی تبدیل بشه بعد با نرم افزارهایی که کد اسمبلی برنامه رو برمی گردونن مثل Win32 Disassembler کد اسمبلی اون رو در بیارین . و اون رو کامپایل کنید . من موفق نشدم این کار ور بکنم فکر کنم بدلیل فایلهای کتابخانه ای بود که به برنامه وصل بود ولی چند جا دیدم که به همین روش تبدیل می کردند . شما امتحان کنید شاید جواب داد.