Güvenlik şeffaf yöntemiyle deneniyor 'WebMatrix.WebData.PreApplicationStartCode.Start ()'


176

Güncelleme: mvc 4'ten mvc 5'e aynı.

Yeni bir mvc 4 projesi başlattım ve içinde bir mvc 3 projesi taşıdım (kontrolörler / modeller / komut dosyaları vb.). Her şey derlenirken şimdi aşağıdaki hatayı alıyorum:

Güvenlik açısından kritik '' System.Web.WebPages.Razor.WebPageRazorHost.AddGlobalImport (System.String) 'yöntemine erişmek için güvenlik şeffaf yöntemiyle WebMatrix.WebData.PreApplicationStartCode.Start ()' başarısız oldu.

Bu hatayla web'de hiçbir şey bulamıyorum. Hata, uygulama başlangıcına ulaşmadan önce görülür.

Boşuna bir 'temiz' web.config koyarak, tüm derlemeleri nuget ile yeniden denedim.

Daha önce bu problemi yaşayan var mı?

Yanıtlar:


246

Benim için bu hata, MVC 4'ten MVC 5'e güncelledikten sonra Microsoft.AspNet.WebHelpers yüklü olmamasından kaynaklanıyordu. NuGet paketi yüklenerek düzeltildi

Install-Package -Id  Microsoft.AspNet.WebHelpers

1
Bu benim için sorunu çözdü; Sınıfımla bazı ad alanı sorunları yarattı Resources, ama ben bunu değiştirdim Properties.Resources.xxxxxve sorunlar düzeltildi.
Cody

2
Bunu çalıştırdım ve işe yaramadı ... ama neyse ki başka bir cevapta çalıştırılacak ikinci bir komut olduğunu gördüm: stackoverflow.com/a/22587521/482256
Kevin Nelson

Bu benim için fxed ama aynı zamanda montaj bağlamaları code<dependentAssembly> <assemblyIdentity name = "WebMatrix.WebData" publicKeyToken = "31bf3856ad364e35" kültür = "nötr" /> <ciltlemeRedirect oldVersion = "0.0.0.0-3.0.0.0 "newVersion =" 3.0.0.0 "/> </dependentAssembly>code
Marchief

Yukarıda belirtilen paketi yükledim ve sorun gitti. Yüklemek için NUget UI kullandım ve bu da benim için tüm bağımlılıkları yükledi
Atta H.

204

Hata alıyorsanız

Güvenlik açısından kritik '' System.Web.WebPages.Razor.WebPageRazorHost.AddGlobalImport (System.String) 'yöntemine erişmek için güvenlik şeffaf yöntemiyle WebMatrix.WebData.PreApplicationStartCode.Start ()' başarısız oldu.

Bunu düzeltmek için NuGet paket yöneticisini kullanarak bu paketi kurun.

Install-Package Microsoft.AspNet.WebHelpers

Bundan sonra, muhtemelen başka bir hata alacaksınız

WebMatrix.Data sürüm 3.0.0.0 derlemesi yüklenemiyor

bunu düzeltmek için NuGet paket yöneticisini kullanarak bu paketi kurun.

Install-Package Microsoft.AspNet.WebPages.Data

VS 2015 RTM'ye yükseltme yaparken bu tam hatayı aldım. Aynı kod VS 2013 ile gayet iyi çalıştı, tek fark 2015 IISExpress'in yok saydığından şüphelendiğim IIS için 2015'in oluşturduğu yeni bir .config dosyası. Bu cevap bu durumu da düzeltti, her iki nugeti de ekle.
angularsen

VS2015 RTM ile web sitemi çalıştırmakta başarılı olmadığımdan bahsetmeliyim. Microsoft.AspNet.WebHelpers'i yüklemek YSOD'u düzeltti, ancak bunun yerine bazı sql erişim hakları nedeniyle bir zaman aşımı aldım. Aynı kod VS2013'te iyi çalıştı.
angularsen

1
ASP .NET MVC 4'ten ASP .NET MVC 5'e yükseltme yaparken VS 2013 Express Edition'ı kullanarak bu sorunla karşılaştım.
Jerameel Resco

VS 2015'te çözümümü çalıştırmayı denediğimde bu hatayı alıyorum. VS 2013'te gayet iyi çalışıyor. 2 paketi önerilen çalışma olarak yüklemek, ancak neden yüklemem gerektiğinden emin değilim. VS 2013'te geliştirdiğim ve VS 2015'te bu hatayı almayan başka çözümlerim var.
John81

2
VS2015'in derlemede webapp'ın bin dizinine bazı WebMatrix DLL'leri koymaya karar verdiğini tespit ettik - VS2013 bunu yapmıyor. 2015'in bu DLL'leri nereden aldığını bilmiyorum, ancak WebMatrix DLLS olmadan VS2013 tarafından derlenen uygulamayı başlattığınızda GAC'den (sanırım) yüklenen DLL'lere farklı bir sürüm olmalılar. uygulama kutusu dizinine eklenir. 2015 çıkışından 4 WebMatrix dosyasını silip IIS'yi yeniden başlatırsanız, sorunun ortadan kalktığını unutmayın.
Simon Green


14

Yukarıdaki çözümlerin tümünü denedim ve web.config derleme öğesinin WebMatrix.Data ve WebMatrix.WebData sürüm 2.0.0.0'a başvurduğunu bulana kadar hala işe yaramayacaktı. Web.config dosyasındaki bu girdilerin sürümünü 3.0.0.0 olarak değiştirmek bana yardımcı oldu.


10

Yükseltirken ben benzer bir konuda mücadele ettik mvc 4için mvc 5:

Güvenlik açısından kritik yöntem 'System.Web.WebPages.Administration.SiteAdmin.RegisterAdminModule ()' güvenlik açısından kritik olan 'System.Web.Web.WebPages.ApplicationPart..ctor (System.Reflection.Assembly, System.String)' yöntemine erişilemedi.

Yayınla iletişim kutusundaki fazladan dosyaları sil onay kutusu benim için çözdü.


Bu hatayı SharePoint 2013 Sağlayıcı Barındırılan Uygulamamda (Azure'a dağıtılan ASP.NET MVC 5), yayınlama iletişim kutusundaki "ek dosyaları sil" de benim için çözdü.
Anatoly Mironov

8

Yeniden yükleme Microsoft.AspNet.WebHelpersbenim için çalışıyor

Update-Package reinstall Microsoft.AspNet.WebHelpers

6

Sadece bir öneri daha ... Bu benim için dağıtım sunucusu site bin klasöründe MVC 5 yükseltme sonra bir MVC 3 projesinden bazı eski dll's neden oldu. Bu dll en artık kod tabanı tarafından kullanılmasa bile onlar soruna neden olduğu ortaya çıktı. Hepsini temizledi ve yeniden konuşlandırıldı ve iyiydi.


Benim hatamın nedeni buydu. Bin klasöründe eski ve yeni dosyalar vardı. teşekkürler
Abhinaw Sharma

5

Ayrıca şunları da alabilirsiniz:

Dosya veya derleme 'WebMatrix.Data, Sürüm = 3.0.0.0, Kültür = nötr, PublicKeyToken = 31bf3856ad364e35' veya bağımlılıklarından biri yüklenemedi. Konumlandırılan derlemenin bildirim tanımı derleme başvurusuyla eşleşmiyor. (HRESULT istisnası: 0x80131040)

Bu, bu pakete taşındı

 Install-Package Microsoft.AspNet.WebPages.Data

Bu sorunun yanıtlarını denemeden önce ve paketleri güncelledikten sonra muhtemelen temiz bir derleme yapmalısınız


3

Bu sorunu şu şekilde çözdüm:

Nuget paket yöneticisi konsolunu açın ve aşağıdaki nuget paketlerini yükleyin:

Install-Package WebMatrix.Data
Install-Package Microsoft.AspNet.WebHelpers
Update-Package

Çözümü temizleyin, yeniden oluşturun ve asp.net web uygulaması çalışmaya başlıyor!


2

Tüm dosyaları depodan silmek ve ardından çözümü yeniden oluşturmak benim için çalıştı.


1

Benim için bu hata, DotNetOpenAuth MVC4'ten MVC5'e yükselttikten sonra MVC5 ile uyumlu olmamasından kaynaklandı. Microsoft.Web.WebPages.OAuth yazılımını kaldırmak sorunu çözdü.


1

Bunu referanslarımdan kaldırdım, daha sonra bunu Paket Yöneticisi Konsolu'nda çalıştırın

Install-Package WebMatrix.Data

Son olarak referanslara WebMatrix.WebData derlemesini ekleyin ve projeyi yeniden oluşturun. Benim için çalışıyor. Umarım sorununuzu da çözer.


0

Ben helppages nuget paketi ile onunla webapi yükledim. Bu paket, asp.net mvc 4 ikili dosyalarının çoğunu, projenin geri kalanıyla birlikte iyi çalışmayan beta sürümleriyle değiştirdi. Düzeltme orijinal mvc 4 dll's geri yüklemek ve tüm iyi oldu.


0

Aynı sorunu yaşadım, MVC Future'u (Microsoft.AspNet.Mvc.Futures) güncellemek zorunda kaldım

Install-Package Microsoft.AspNet.Mvc.Futures

0

Benim için bu hatalar eklenerek çözüldü

<system.web>
 <trust level="Full">
 </system.web>

web.config içinde

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.