ساخت شاخه BIn در asp.net 2 -- آپلود فایل های برنامه asp.net 2 به سرور
ساخت شاخه BIn در asp.net 2
سوال : سلام چطور میشه کل کد نویسی پروژه رو به dll تبدیل کرد در ورژن قبلی خودرش اینکارو میکرد اینجا چی کار باید کرد؟
جواب :
اگه اجازه بدی برای باز شدن موضوع کمی به تفاوتهای Asp 2.0 با Asp 1.x بپردازیم.
در Asp 1.x همانطور که شما فرمودید تمامی Code Behind ها درون یک فایل اسمبلی کمپایل می شدند که این فایل(dll) در پوشه bin قرار می گرفت.این در حالیست که فایلهای Aspx در هنگام در خواست کامپایل میشوند.
داخل پرانتز : این شیوه عملکردی دات نت این مزیت رو داره که دیگه نیازی به آپلود Code Behind ها روی سرور نیست.(بر خلاف php)
با توجه به مکانیزم ذکر شده هر گونه تغییر در صفحات وب(فایلهای Aspx)با اولین درخواست اعمال میشه در حالیکه تغییرات در Code Behind ها نیازمند Recompile میباشد.
در Asp 2.0 شما میتوانید با استفاده از کامپایل زمان اجرا به صورت پویا تغییرات را بر روی تمامی فایلها اعمال کنید.
بگذریم اینا رو گفتم که بگم به علت تغییر مکانیزم کاری در Asp 2.0 پس از فشردن کلید F5 فولدر bin و فایل اسمبلی مورد نظر ساخته نمیشه.اما Asp 2.0 همچنان مکانیزم قبلی رو پشتیبانی میکنه.
چنانچه بر روی پروژه در قسمت Solution راست کلیک کنید در قسمت Add Folder فولدر های زیادی رو می بینید که بسیاری از آنها مختص Asp 2.0 هستند.البطه شما میتوانید در این قسمت
فولدر bin رو هم به پروژه اضافه کنید.که البته در Asp 2.0 کاربردی نداره.
اگه اجازه بدید کمی راجع به این فولدر ها صحبت کنیم :
App_Code : این فولدر شامل فایل های کلاس،XSD ها و ...هستش.کلیه فایلهایی که در این فولدر قرار میگیرن در زمان اجرا کامپایل میشوند.
App_Data : شامل فایل های دیتا بیس و اسناد XML.
App_LocalResources : محل نگهداری برخی فایلهای تولید شده توسط دات نت برای اعمال خاص.
App_GlobalResources : اینم مثل بالایی فرض کنید.
App_Themes : محل نگهداری فایل های themes و skin .
App_Browsers : محل نگهداری فایل های Browser ها.(برای کلاینت های مختلف)
App_WebReferences : محل نگهداری وب سرویس ها مثل :wsdl وdiscomap و...
و اما بریم سر جواب سوال :
باید وبتون رو Precompile کنید.که دو حالت داره :
Precompile for site deploymen و Precompile In-Place.
و منم دیگه حال ندارم تایپ کنم.
دستور زیر رو در پنجره Run تایپ کنید همشون تو یک خط)
C:\Windows\Microsoft.NET\Framework\version >aspnet_compiler -v /Precompile -p C:\wwwroot\inetpub\myweb C:\wwwroot\inetpub\Precompile_Target
به آدرس Precompile_Target برید.فولدر bin رو میبینید با فایل Dll داخلش.همه وب شما درون این فایل dll کامپایل شده.برای استفاده از وبتون واسش Virtual directory بسازید و از اونجا اجراش کنید.
یادم رفت بگم گزینه Publish از منوی Build هم همین کارو میکنه !!!!
نقل از : http://www.developercenter.ir/forum/showthread.php?t=2409