أقوم بتكوين مشروع MVC 3 للعمل على تثبيت محلي لـ IIS وصادف الخطأ 500 التالي:
يحتوي المعالج "PageHandlerFactory-Integrated" على وحدة نمطية سيئة "ManagedPipelineHandler" في قائمة الوحدة النمطية الخاصة به.
اتضح أن هذا بسبب عدم تثبيت ASP.Net بالكامل بـ IIS على الرغم من أنني حددت هذا المربع في مربع الحوار "إضافة ميزة". لإصلاح ذلك ، قمت ببساطة بتشغيل الأمر التالي في موجه الأوامر
%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i
إذا كنت على نظام 32 بت ، فقد بدا الأمر كما يلي:
%windir%\Microsoft.NET\Framework\v4.0.21006\aspnet_regiis.exe -i
سؤالي هو ، هل هناك طريقة لتثبيت IIS على مربع Windows 7 لاستخدام .NET 4.0 (MVC 3) دون اتخاذ هذه الخطوة الإضافية؟
اتضح أن هذا بسبب عدم تثبيت ASP.Net بالكامل بـ IIS على الرغم من أنني حددت هذا المربع في مربع الحوار "إضافة ميزة". لإصلاح ذلك ، قمت ببساطة بتشغيل الأمر التالي في موجه الأوامر
%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i
إذا كنت على نظام 32 بت ، فقد بدا الأمر كما يلي:
%windir%\Microsoft.NET\Framework\v4.0.21006\aspnet_regiis.exe -i
تذكر لتشغيل الأمر موجه كمسؤول (CTRL+SHIFT+ENTER)
الإجابة المقبولة صحيحة ، ولكن في بعض الأحيان قد تحصل على " لم يتم التعرف على Aspnet_regiis.exe كأمر داخلي أو خارجي أو برنامج قابل للتشغيل أو ملف دفعي. " رسالة الخطأ.
لحلها جرب ما يلي:
تأكد من أن تثبيت .NET 4.0 الخاص بك غير تالف (قم بتشغيل برنامج التثبيت و "إصلاحه"). هناك أيضًا فرصة لعدم تثبيته على جهازك على الإطلاق.
إذا كنت متأكدًا من عدم تثبيت .NET 4.0 وتريد تشغيله كـ .NET 2.0 ، فجرب هذا :
إذا رأيت الرسالة "لم يتم التعرف على Aspnet_regiis.exe كأمر داخلي أو خارجي أو برنامج قابل للتشغيل أو ملف دفعي." ، بدّل إلى C:\Windows\Microsoft.NET\Framework64\v2.0.50727\Aspnet_regiis. إكس -i في موجه الأوامر.
لحل المشكلة ، حاول repair the .net framework 4
ثم قم بتشغيل الأمر
%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i
خطأ: معالج "PageHandlerFactory-Integrated" يحتوي على وحدة نمطية سيئة "ManagedPipelineHandler" في قائمة الوحدة النمطية الخاصة به
لقد وجدت المقالات لإصلاح هذه المشكلة ببساطة عن طريق تشغيل الأوامر التالية في موجه الأوامر.
٪ windir٪\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i
إذا كان النظام 32 بت ، فسيبدو كما يلي:
٪ windir٪\Microsoft.NET\Framework\v4.0.21006\aspnet_regiis.exe -i
لكن عندما حاولت تنفيذ هذه الأوامر باستخدام موجه cmd ، تلقيت رسالة الخطأ/التحذير التالية:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319> aspnet_regiis.exe -i Microsoft (R) ASP.NET RegIIS الإصدار 4.0.30319.33440 أداة مساعدة إدارية لتثبيت ASP.NET وإلغاء تثبيته على الجهاز المحلي. حقوق الطبع والنشر (C) شركة Microsoft. كل الحقوق محفوظة. بدء تثبيت ASP.NET (4.0.30319.33440). هذا الخيار غير معتمد في هذا الإصدار من نظام التشغيل. بدلاً من ذلك ، يجب على atr تثبيت/إلغاء تثبيت ASP.NET 4.5 مع IIS8 باستخدام مربع الحوار "تشغيل/إيقاف تشغيل ميزات ميزات Win" أو أداة إدارة Server Manager أو أداة سطر الأوامر dism.e xe. لمزيد من التفاصيل ، يرجى الاطلاع على http://go.Microsoft.com/fwlin k /؟ LinkID = 216771. تم الانتهاء من تثبيت ASP.NET (4.0.30319.33440).
لإصلاح ذلك على Windows 8.1 ، أود أن أقترح القيام بما يلي.
حل:
الانتقال إلى - تشغيل ميزات Windows أو إيقاف تشغيلها> خدمات معلومات الإنترنت> خدمات الشبكة العالمية> ميزات تطوير التطبيقات> تمكين ASP.NET 4.5
هذا يجب أن يحل المشكلة.
أضفت مسارات ISAPI/CGI لـ .Net 4. والتي لم تحل المشكلة. لذلك قمت بتشغيل إصلاح على تثبيت .Net V4 (Client and Extended). الذي طلب لإعادة تشغيل الكمبيوتر. هذه ثابتة بالنسبة لي.
سوف أتحقق أيضًا من الوضوح أولاً: تعيين تجمع التطبيقات على الإطار الصحيح وأن تطبيقك [IIS يشير فعليًا إلى المجلد الذي وضعت فيه ملفاتك
إذا كنت ترغب في نشر تطبيق MVC دون تثبيت MVC ، فيمكنك نشر DLL MVC مع تطبيقك . يعمل هذا على تثبيت MVC 3. يمكنك استخدام ميزات في بعض مساحات أسماء .Net 4.0 دون تثبيت .Net باستخدام نهج مماثل.
لقد حاولت القيام بـ aspnet_regiis في موجه الأوامر ، لكنني حصلت على إجابة بأنه ليس لدي حقوق مسؤول. بعد ذلك ، بعد المزيد من googling والبحث عن حل ، حاولت النقر بزر الماوس الأيمن على cmd وتشغيله كمسؤول. أكد نعم عندما ظهر الحوار ، ركض aspnet_iis مرة أخرى عملت النمل مثل السحر. باختصار: 1. تحقق من .NET Framework في app_pool 2. قم بتشغيل cmd كمسؤول 3. قم بتشغيل aspnet_regiis -i
لإصلاح ذلك على Windows 8.1 Professional machine قم بما يلي.
تثبيت Web Platform Installer. http://www.Microsoft.com/web/downloads/platform.aspx
في Web Platform Installer تثبيت ASP.NET 4.5 (هذه الميزة لها تبعية واحدة).
إذا جربت الأمر cmd Prompt المذكور أعلاه من أكثر الإجابات شيوعًا ، فستتلقى رسالة الخطأ/التحذير التالية:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319> aspnet_regiis.exe -i Microsoft (R) ASP.NET RegIIS الإصدار 4.0.30319.33440 أداة مساعدة إدارية لتثبيت ASP.NET وإلغاء تثبيته على الجهاز المحلي. حقوق الطبع والنشر (C) شركة Microsoft. كل الحقوق محفوظة. بدء تثبيت ASP.NET (4.0.30319.33440). هذا الخيار غير معتمد على هذا الإصدار من نظام التشغيل . بدلاً من ذلك ، يجب على atr تثبيت/إلغاء تثبيت ASP.NET 4.5 مع IIS8 باستخدام مربع الحوار "تشغيل/إيقاف تشغيل ميزات ميزات Win" أو أداة إدارة Server Manager أو أداة سطر الأوامر dism.e xe. لمزيد من التفاصيل ، يرجى الاطلاع على http://go.Microsoft.com/fwlin k /؟ LinkID = 216771. تم الانتهاء من تثبيت ASP.NET (4.0.30319.33440).
واجهت نفس المشكلة وكان حل بلدي:
انتقل إلى "تشغيل ميزات Windows أو إيقاف تشغيلها"> خدمات معلومات الإنترنت> خدمات الويب العالمية> ميزات تطوير التطبيقات> تمكين ASP.NET 4.5
- استخدام ميزة initalization التطبيق - طلب صفحات خاطئة (.asp) بسبب وراثة التكوين
500.21 سيحدث على اتصال المستخدم الأول فقط. الاتصالات اللاحقة العمل.
تم حلها عن طريق تصحيح مجموعة url applicationInitialization على موقع .NET.
واجهت مشكلة مماثلة مع Windows server 2012 ، حيث قمت بتثبيت الميزة " Application Server " في مدير الخادم ، أصلحت المشكلة.
في بعض الحالات ، يحدث هذا الخطأ لأن تكوين Microsoft .NET Framework 4.0 لـ ASP .NET تالف ، والذي يمكن أن يحدث إذا تم تثبيت Microsoft Visual Studio 2012 قبل Visual Studio 2010 أو Microsoft SQL Server 2008.
بعد محاولة أشياء مختلفة وصلت إلى الاستنتاج ، إصلاح لك. صافي التثبيت عن طريق تشغيل الأمر التالي. لمزيد من المعلومات اتبع الرابط.
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\SetupCache\v4.5.51209\setup.exe /repair /x86 /x64 /ia64 /norestart
https://msdn.Microsoft.com/en-us/library/hh168535(v=nav.80).aspx
لا شيء من هذه عملت بالنسبة لي. لذلك ، عندما قارنت العديد من تجمعات التطبيقات مع واحدة عملت مقابل واحد لم ينجح ، اضطررت للذهاب إلى الإعدادات المتقدمة لمجموعة التطبيقات ، واضبطت
تمكين تطبيقات 32 بت = صحيح
ثم عملت بشكل جيد!
كنت أواجه هذه المشكلة على أحد خوادم الويب الخاصة بي عند محاولة تحويل apppool من الكلاسيكية إلى المتكاملة. لقد كان جيدًا على اثنين من خوادم الويب الأخرى الخاصة بي ، وليس هذا فقط. إنه خادم 2012 ، لذلك لا يمكنك القيام بـ aspnet_regiis ولم يكن هناك مجلد setupcache لتجربة هذا الإصلاح. تم تعيين كل شيء بشكل صحيح تحت الميزات.
بعد المرور عبر٪ windir٪\system32\inetsrv\config\applicationHost.config لقد وجدت جزءًا مهمًا مفقودًا. تحت بلدي غير العاملين واحد كان في عداد المفقودين السطرين التاليين:
<add name="ManagedEngineV4.0_32bit" image="C:\Windows\Microsoft.NET\Framework\v4.0.30319\webengine4.dll" preCondition="integratedMode,runtimeVersionv4.0,bitness32" />
<add name="ManagedEngineV4.0_64bit" image="C:\Windows\Microsoft.NET\Framework64\v4.0.30319\webengine4.dll" preCondition="integratedMode,runtimeVersionv4.0,bitness64" />
بمجرد إضافتها ، كان كل شيء رائعًا.
واجهت هذه المشكلة ووجدت أن إزالة المجلد التالي ساعد ، حتى مع الإصدار غير Express. Express:
C:\Users\<user>\Documents\IISExpress
لحل المشكلة ، حاول إصلاح .net framework 4 ثم قم بتشغيل الأمر
%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i
واجهت نفس المشكلة ، في حالتي كان معالج الحالة في مكانين:
<system.web>
...
<httpHandlers>
<add verb="*" path="*.ashx" type="ApplicArt.Extranet2.Controller.FrontController, ApplicArt.Extranet2.Web.UI" />
</httpHandlers>
</system.web>
<system.webServer>
<handlers>
...
<add name="FrontController" verb="*" path="*.ashx" type="ApplicArt.Extranet2.Controller.FrontController, ApplicArt.Extranet2.Web.UI"/>
</handlers>
</system.webServer>
وعندما أزلت معالجي من [system.webServer] اختفت مشكلتي.