سؤال

بعد استكشاف موضوع التجميع المسبق للنشر، أريد تحسين عملية الإنشاء الخاصة بي.والآن ما أفعله هو:

  • إعداد موقع ويب باستخدام Web One Click Publish، على سبيل المثال c:\www\app الدليل، وهذا الدليل متاح في IIS عبر التطبيق (localhost/app)
  • أنا إطلاق aspnet_compiler.exe -v app c:\www\appprecompiled -f

الآن لدي تطبيق جاهز تم ترجمته مسبقًا c:\www\appprecompiled وكل شيء على ما يرام.ومع ذلك، فإن طلبي كبير جدًا، ويستغرق نشره (الخطوة 1) حوالي 5 دقائق من البداية.لذلك أتساءل عما إذا كان من الممكن تجنب الخطوة الأولى وتنفيذ الخطوة 2 (التجميع المسبق) مع توجيه المجلد المصدر إلى مجلد الحل.لقد حاولت شيئًا مثل هذا:

aspnet_compiler.exe -v codeapp c:\code\app -f

أين c:\code\app هو المجلد الذي يحتوي على ملفات web.config وما إلى ذلك، وهو في الأساس مشروع مع موقع ويب وهذا المجلد متاح عبر http://localhost/codeapp.

ولكن عند تشغيل هذا الأمر، تظهر لي أخطاء بشأن فقدان أخطاء global.asax أو web.config:

C:\code\app\obj\debug\package\packagetmp\web.config(18):خطأ أسبكونفيج:إنه خطأ في استخدام قسم مسجل على أنه leftdefinition = 'machinetoapplication' وراء مستوى التطبيق.يمكن أن يكون سبب هذا الخطأ هو عدم تكوين دليل افتراضي كتطبيق في IIS.

وللعلم، أنا أستخدم التطبيق وليس Virtual Directory.

فهل هناك طريقة لإجراء الترجمة المسبقة على مجلد موقع ويب عادي؟

هل كانت مفيدة؟

المحلول

إستعملت

ASPNET_COMPILER -P Physicalorerative -V / TargetPath

من http://msdn.microsoft.com/en-us/library/ms227976(v=VS.80).aspx وإزالة مجلد obj قبل تنفيذه، ويعمل التجميع المسبق :)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top