[A] System.Web.WebPages.Razor.Configuration.HostSection… web.config sorununa dönüştürülemiyor


158

Aşağıdaki hatayı alıyorum:

[A] System.Web.WebPages.Razor.Configuration.HostSection, [B] System.Web.WebPages.Razor.Configuration.HostSection öğesine aktarılamaz. Tip A, 'Konumdaki' Varsayılan 'bağlamında' System.Web.WebPages.Razor, Sürüm = 2.0.0.0, Kültür = nötr, PublicKeyToken = 31bf3856ad364e35 'kaynağından kaynaklanır C: \ WINDOWS \ Microsoft.Net \ assembly \ GAC_MSIL \ System .Web.WebPages.Razor \ v4.0_2.0.0.0__31bf3856ad364e35 \ System.Web.WebPages.Razor.dll'. B Tipi, 'System.Web.WebPages.Razor, Sürüm = 3.0.0.0, Kültür = nötr, PublicKeyToken = 31bf3856ad364e35' konumundaki 'Varsayılan' bağlamında kaynaklanır C: \ Users \ MyName \ AppData \ Local \ Temp \ Temporary ASP.NET Dosyaları \ root \ 63e7ff36 \ a1cb775d \ assembly \ dl3 \ 8f568c18 \ 9b7ddacf_d04dcf01 \ System.Web.WebPages.Razor.dll '.

Stackoverflow genelinde benzer sorunlar için arama yaptım ve çözümlerini kullandım ama yaşadığım sorunu düzeltmek gibi görünmüyor.

Aniden meydana geldi, sadece temiz bir çözüme basıldım ve bu hata ortaya çıktı. Ayrıca çözüm üzerinde nuget paketi geri yüklemeyi kullanmaya başladım. Paketlerimi de güncelledim (Güncelleme paketini kullanarak), böylece bunlardan biri bu sorunla ilgili bir şey olabilir.

Yanıtlar:


274

Ben sadece tüm sürümleri değişti VS2013, MVC 5.2.2.0 Web Api 2. kullanıyorum 2.0.0.0 için 3.0.0.0 aşağıdaki bölümün Web.config içindeki kahntılannin Görüntüle Projemin klasöründe.

<configSections>
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
  <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
  <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
</sectionGroup>

Ve sorun çözüldü. BINGO !!


7
Bu benim için işi yaptı. Teşekkürler!
Joseph Woodward

1
Bu benim için çözdü. MVC5 için bir webformları uygulaması dönüştürüyorum.
Ray

1
@guneysus, Kuntal'ın cevabını eşdeğeri manuel düzenleme olmadan nasıl yaparsınız?
twm

@twm Update-PackageAyrıca edits deweb.config
guneysus

Bu yüzden ÇOK SEVİYORUM!
Homunculus Reticulli

102

Sadece iki sentimi bu konuya ekliyorum.

Benim için bu hatanın nedeninin Web.config dosyasındaki Views klasörlerininSystem.Web.WebPages.Razor, Version=2.0.0.0 her şeyi kullanırken referansta bulunmasıydı.3.0.0.0

Nuget paket yükseltmesi bir şekilde bu klasörü hesaba katmadı.


1
daha kesin! görünüm klasöründe web.config.
Rohit Verma

58

Bu hatanın nedeni, 3.0.0.0 yerine System.Web.WebPages.Razor, Sürüm = 2.0.0.0'a başvuran Views klasöründeki web.config dosyasıdır.

Genellikle bu, bu klasörü hesaba katmayan bir nuget paketi yükseltmesinden sonra gerçekleşebilir.

Views\Web.configDosyayı güncelleyin :

<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
  <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
  <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
</sectionGroup>

MVC 5'e yükseltme hakkında daha fazla bilgi için http://www.asp.net/mvc/tutorials/mvc-5/how-to-upgrade-an-aspnet-mvc-4-and-web-api-project-to- aspnet-mvc-5-ve-web-api-2


5
bir düzeltme gibi gelmiyor, etrafımda çalışıyorum. bazı projeler sadece mvc4'e bağlı olabilir
stenly

12
Özellikle, bu hatanın düzeltmesi "Görünümler klasörü altındaki web.config dosyalarını güncelle" bölümündeki gibidir. MVC4 -> MVC5'ten NuGet ile güncelleme, Views / Web.config'deki sürüm numaralarını otomatik olarak güncellemiyor gibi görünüyor.
Tyler

Bağlantı için teşekkürler! NuGet güncellemesinin en azından bu sayfaya bir bağlantı göstermesi güzel olurdu ...
Jedidja

Kılavuzu takip ettim ve şimdi sitemi hata ayıklama modunda çalıştıramıyorum - bana "... Sınıf Kütüphanesi çıktı türüne sahip proje başlatılamıyor ..."
Mat

2
Benim için çalıştım, birincil sorunum, Views alt klasöründeki web.config'deki sürümleri güncellemediğimden kaynaklandı.
connectedsoftware

13

Yukarıdaki tüm yöntemleri denedim ve web.config dosyasına doğrudan proje klasörü altına yerleştirilene kadar sorun hala çözülmedi.

  <dependentAssembly>
    <assemblyIdentity name="System.Web.WebPages.Razor" publicKeyToken="31bf3856ad364e35" />
    <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
  </dependentAssembly>

3

Bunu Rota Hata Ayıklayıcı ile alırsanız, Rota Hata Ayıklayıcı Alanı altındaki Görünümler klasöründeki web.config dosyasını güncellemeniz gerekir.


Cankurtaran. Teşekkürler.
footunder

Lütfen açıklığa kavuşturabilir misiniz?
Si8

1

Benim durumumda, VS'nin MVC 5'e yükselttikten sonra güncellediği canlı sunucudaki Web.config dosyasını güncelleyerek bunu çözdüm

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.