Nasıl düzeltilir: Handler “PageHandlerFactory-Integrated” modül listesinde kötü bir “ManagedPipelineHandler” modülü var


543

Bir MVC 3 projesini IIS'nin yerel yüklemesinde çalışacak şekilde yapılandırıyorum ve aşağıdaki 500 hatayla karşılaştım:

"PageHandlerFactory-Integrated" işleyicisi modül listesinde bozuk bir "ManagedPipelineHandler" modülüne sahip.

Bunun nedeni "Özellik Ekle" iletişim kutusunda bu kutuyu işaretlememe rağmen ASP.Net'in IIS ile tamamen yüklenmediği ortaya çıkıyor. Bunu düzeltmek için, komut isteminde aşağıdaki komutu çalıştırdım

%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i

Eğer 32 bit sistemde olsaydım, şöyle görünebilirdi:

%windir%\Microsoft.NET\Framework\v4.0.21006\aspnet_regiis.exe -i

Benim sorum, bu ekstra adımı atmadan .NET 4.0 (MVC 3) kullanmak için Windows 7 kutusuna IIS yüklemek için bir yolu var mı?


2
Soru aslında sorunumu çözdü. Eğer yapabilirsem soruyu cevap olarak cevaplardım. :)
Seregwethrin

Evet, sorunun açıklaması da sorunumu çözdü. Teşekkürler :-)
sramsay

Yanıtlar:


950

Bunun nedeni "Özellik Ekle" iletişim kutusunda bu kutuyu işaretlememe rağmen ASP.Net'in IIS ile tamamen yüklenmediği ortaya çıkıyor. Bunu düzeltmek için, komut isteminde aşağıdaki komutu çalıştırdım

%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i

Eğer 32 bit sistemde olsaydım, şöyle görünebilirdi:

%windir%\Microsoft.NET\Framework\v4.0.21006\aspnet_regiis.exe -i

Komut istemini yönetici olarak çalıştırmayı unutmayın ( CTRL+ SHIFT+ ENTER)


"Aspnet_regiis.exe bir iç veya dış komut, çalıştırılabilir program veya toplu iş dosyası olarak tanınmıyor olabilir ." hata. Bu durumda, yürütülebilir dosyayı .NET 4.0 klasöründen değil, 2.0 klasöründen alabilirsiniz (aşağıdaki
cevabıma

Bazı sitelerde, aspnet_regiis.exe'yi çalıştırmamız gerektiğini okudum, ancak hiçbiri parametrenin gerekli olduğunu açıklamadı, aksi takdirde hiçbir şey olmuyor.
Pimenta

çok basit bir cevap. Kötü bir kurulum olduğunu biliyordum, nasıl düzeltileceğini bilmiyordum.
elcool

Windows Server 2012 kullanıyorsanız, Yönet> Rol ve Özellik Ekle> Özellikler aracılığıyla buna ihtiyacınız olacağını unutmayın. Benim durumumda IIS8'in ASP.NET 4.5'in kurulu / etkinleştirilmiş olması gerekiyordu.
Stark

5
yönetici olarak çalıştırmayı unutma
Reid Evans

17

Kabul edilen cevap doğrudur, ancak bazen " Aspnet_regiis.exe bir iç veya dış komut, çalıştırılabilir program veya toplu iş dosyası olarak tanınmaz. " Hata iletisini alırsınız.

Çözmek için aşağıdakileri deneyin:

  1. .NET 4.0 yüklemenizin bozuk olmadığından emin olun (yükleyiciyi çalıştırın ve 'Onar'). Ayrıca, makinenize hiç yüklenmemiş olma ihtimali de vardır.

  2. Eğer eminsen .NET 4.0 yüklü olması ve .NET 2.0 olarak çalıştırmak istemiyorum, denemek bu :

"Aspnet_regiis.exe dahili veya harici komut, çalıştırılabilir program veya toplu iş dosyası olarak tanınmadı" iletisini görürseniz, C: \ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727 \ Aspnet_regiis.exe -i komut isteminde.


Aspnet_regiis.exe -i, Win Server 2008 IIS7'deki sorunumu düzeltti.
VSB

9

Sorunu çözmek repair the .net framework 4için komutu çalıştırmayı deneyin

%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i

9

Hata: “PageHandlerFactory-Integrated” işleyicisinin modül listesinde hatalı bir “ManagedPipelineHandler” modülü var

Komut isteminde aşağıdaki komutları çalıştırarak bu sorunu gidermek için makaleler buldum:

%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i

Sistem 32 bit ise, şöyle görünecektir:

%windir%\Microsoft.NET\Framework\v4.0.21006\aspnet_regiis.exe -i

Ancak, bir komut istemi kullanarak bu komutları yürütmeye çalıştığımda, aşağıdaki hata / uyarı iletisini aldım:

C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319> aspnet_regiis.exe -i Microsoft (R) ASP.NET RegIIS sürüm 4.0.30319.33440 Yerel makineye ASP.NET'i yüklemek ve kaldırmak için yönetim yardımcı programı. Telif Hakkı (C) Microsoft Corporation. Tüm hakları Saklıdır. ASP.NET'i (4.0.30319.33440) yüklemeye başlayın. Bu seçenek işletim sisteminin bu sürümünde desteklenmez. Yöneticiler bunun yerine "Win Win dows Özelliklerini Aç / Kapat" iletişim kutusunu, Sunucu Yöneticisi yönetim aracını veya dism.exe komut satırı aracını kullanarak ASP.NET 4.5'i IIS8 ile yüklemeli / kaldırmalıdır. Daha fazla ayrıntı için lütfen http://go.microsoft.com/fwlin k /? LinkID = 216771 adresine bakın . ASP.NET (4.0.30319.33440) yüklemesi tamamlandı. **

Bunu bir Windows 8.1'de düzeltmek için aşağıdakileri yapmanızı öneririm.

Çözüm:

Git: Windows özelliklerini açma veya kapatma -> İnternet Bilgi Servisleri -> World Wide Web Servisleri -> Uygulama Geliştirme Özellikleri -> ASP.NET 4.5'i Etkinleştir

Bu, sorunu çözmelidir.


Ben de aynı problemi yaşadım. Teşekkürler! Benim için "ASP.NET 4.6" yı etkinleştirmem gerekiyordu.
Jenny O'Reilly

4

İlk önce bariz olanı da kontrol ederim: uygulama havuzunun doğru çerçeveye ayarlandığını ve IIS uygulamanızın dosyalarınızı koyduğunuz klasörü gösterdiğini


Çok açık ... gözden kaçırmak çok kolay. Teşekkürler!
Paul Lemke

Benim için sorun buydu. Görünüşe göre bir şekilde bunu ayarladım ya da "Yönetilen Kod Yok" olarak ayarlandı. Geri v4.0'a geçmek sitemin yüklenmesini sağladı.
redOctober13

3

MVC uygulamasını MVC yüklemeden dağıtmak istiyorsanız , MVC DLL'lerini uygulamanızla birlikte dağıtabilirsiniz . Bu, MVC 3'ü kurmakla ilgilidir. Benzer bir yaklaşım kullanarak .Net kurmadan bazı .Net 4.0 ad alanlarındaki özellikleri kullanabilirsiniz.


4
asp.net iis ile kayıt mvc mevcut veya değil ile ilgisi yoktur, evet, bin klasörünüze gerekli dll'leri dahil edebilirsiniz, ancak iis asp dosyalarını tanımıyorsa dll'lerin yapabileceği pek bir şey yok
Shekhar

3

Net 4 için ISAPI / CGI yollarını ekledim. Bu da sorunu çözmedi. Sonra .Net V4 (İstemci ve Genişletilmiş) yüklemesinde bir onarım yaptım. Hangi yeniden başlatma istedi. Bu benim için düzeltildi.


2

Bunu bir Windows 8.1 Professional makinesinde düzeltmek için aşağıdakileri yapın.

  1. Web Platformu Yükleyicisi'ni yükleyin. http://www.microsoft.com/web/downloads/platform.aspx

  2. Web Platform Installer'da ASP.NET 4.5'i yükleyin (Bu özelliğin bir bağımlılığı vardır).

Sadece en popüler cevaptan yukarıda belirtilen cmd istemi komutunu denerseniz, aşağıdaki hata / uyarı mesajını alırsınız:

C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319> aspnet_regiis.exe -i Microsoft (R) ASP.NET RegIIS sürüm 4.0.30319.33440 Yerel makineye ASP.NET'i yüklemek ve kaldırmak için yönetim yardımcı programı. Telif Hakkı (C) Microsoft Corporation. Tüm hakları Saklıdır. ASP.NET'i (4.0.30319.33440) yüklemeye başlayın. Bu seçenek işletim sisteminin bu sürümünde desteklenmez . Bunun yerine yöneticiler, ASP.NET 4.5'i "Win Win dows Özelliklerini Aç / Kapat" iletişim kutusunu, Sunucu Yöneticisi yönetim aracını veya dism.e xe komut satırı aracını kullanarak IIS8 ile yüklemeli / kaldırmalıdır. Daha fazla ayrıntı için lütfen http://go.microsoft.com/fwlin k /? LinkID = 216771 adresine bakın . ASP.NET (4.0.30319.33440) yüklemesi tamamlandı.


2

Komut isteminde aspnet_regiis yapmaya çalıştım ama yönetici haklarına sahip olmadığım cevabını aldım. Sonra, biraz daha googling ve bir çözüm aradıktan sonra cmd sağ tıklayın ve bir yönetici olarak çalıştırmak için çalıştı. Diyalog göründüğünde evet onaylandı, aspnet_iis tekrar karınca bir cazibe gibi çalıştı. Kısaca: 1. app_pool'da .NET framework'ü kontrol edin 2. cmd'yi yönetici olarak çalıştırın 3. run aspnet_regiis -i


2

Aynı sorunu yaşadım ve benim çözümüm şuydu:

"Windows özelliklerini açma veya kapatma"> Internet Information Services> World Wide Web Hizmetleri> Uygulama Geliştirme Özellikleri> ASP.NET 4.5'i Etkinleştir'e gidin.


Bu bir cazibe gibi çalışır, ancak bir "Uygulama Geliştirme Özelliği" göz önüne alındığında, bunu bir üretim sunucusunda yapmak istemem için herhangi bir neden var mı?
Philip Stratford

Bu özellik hakkında bir üretim ortamında kullanılması hakkında yorum yapacak kadar bilgim yok. Ancak, yararlı olabilecek bu bağlantıyı buldum technet.microsoft.com/en-us/library/hh831475.aspx . Ayrıca, IIS ve ASP.NET modüllerini komut istemi aracılığıyla yüklemek için kullanabileceğiniz ve üretim gereksinimlerinize daha uygun olabilecek bir komut içerir.
Ryan Burbidge

1

Windows Server 2012 ile benzer bir sorun yaşadım, " Uygulama Sunucusu " özelliğini sunucu yöneticisine yüklemek sorunu çözdü.


1

-Uygulama başlatma özelliğini kullanma -yapılandırma mirası nedeniyle yanlış sayfaları (.asp) isteme

500.21 yalnızca ilk kullanıcı bağlantısında gerçekleşir. Sonraki bağlantılar çalışır.

.NET web sitesindeki applicationInitialization URL koleksiyonunu düzelterek çözüldü.


1
  1. Çalıştırmak cmd

  2. Aspnet_regiis.exekomut istemine sürükleyip bırakın :

    C:\Windows\Microsoft.NET\Framework64\v2.0.50727\
  3. tür -i(örneğin Aspnet_regiis.exe -i)

  4. Enter tuşuna basın

  5. süreç tamamlanana kadar bekle

İyi şanslar!


0

Bu sorunu yaşadım ve Express olmayan sürümde bile aşağıdaki klasörü kaldırmanın yardımcı olduğunu buldum.

C:\Users\<user>\Documents\IISExpress


0

Bunların hiçbiri benim için işe yaramadı. Bu yüzden, çeşitli uygulama havuzlarını, çalışmayanlarla karşılaştırılan bir uygulama ile karşılaştırdığımda, Uygulama Havuzu için Gelişmiş Ayarlar'a girip

32 Bit Uygulamaları Etkinleştir = true

Sonra iyi çalıştı!


0

Aynı sorunu yaşadım, benim durumumda işleyici iki yerde idi:

<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>

Ve işleyicimi [system.webServer] 'dan kaldırdığımda sorunum ortadan kayboldu.


0

bazı senaryoda bu hata, ASP .NET için Microsoft .NET Framework 4.0 yapılandırması bozuk olduğundan, Visual Studio 2010 veya Microsoft SQL Server 2008'den önce Microsoft Visual Studio 2012 yüklüyse oluşur.

Farklı şeyleri denedikten sonra sonuca ulaştım, aşağıdaki komutu çalıştırarak .Net kurulumunu onarın. Daha fazla bilgi için bağlantıyı takip edin.

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



0

Bir klasikten entegre bir apppool geçiş çalışırken web sunucularımdan birinde bu sorunu yaşıyordum. Sadece bu değil, diğer iki web sunucumda iyi çalıştı. Server 2012, bu yüzden aspnet_regiis yapamazsınız ve bu onarım denemek için hiçbir setupcache klasörü yoktu. Her şey özellikler altında doğru şekilde ayarlandı.

% Windir% \ system32 \ inetsrv \ config \ applicationHost.config dosyasını girdikten sonra bir kritik eksik bit buldum. Çalışmayanımın altında aşağıdaki iki satır eksikti:

        <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" />

Onları ekledikten sonra her şey harika çalıştı.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.