簡體   English   中英

安全透明方法'WebMatrix.WebData.PreApplicationStartCode.Start()'嘗試

[英]Attempt by security transparent method 'WebMatrix.WebData.PreApplicationStartCode.Start()'

更新:mvc 4與mvc 5相同。

我開始了一個新的mvc 4項目,並在其中遷移了一個mvc 3項目(控制器/模型/腳本等)。 雖然現在一切都編譯我得到以下錯誤:

嘗試通過安全透明方法'WebMatrix.WebData.PreApplicationStartCode.Start()'來訪問安全關鍵方法'System.Web.WebPages.Razor.WebPageRazorHost.AddGlobalImport(System.String)'失敗。

我在網上找不到任何有關此錯誤的內容。 在進入應用程序啟動之前錯誤命中。

我嘗試用nuget重新安裝所有程序集,將“干凈”的web.config無效。

以前有人有這個問題嗎?

對我來說這個錯誤是因為我從MVC 4更新到MVC 5之后沒有安裝Microsoft.AspNet.WebHelpers。它是通過安裝NuGet包修復的

Install-Package -Id  Microsoft.AspNet.WebHelpers

如果您收到錯誤

嘗試通過安全透明方法'WebMatrix.WebData.PreApplicationStartCode.Start()'來訪問安全關鍵方法'System.Web.WebPages.Razor.WebPageRazorHost.AddGlobalImport(System.String)'失敗。

為了使用NuGet包管理器修復此安裝此包。

Install-Package Microsoft.AspNet.WebHelpers

在那之后,可能你會得到另一個錯誤

無法加載WebMatrix.Data版本3.0.0.0程序集

使用NuGet包管理器修復此安裝此包。

Install-Package Microsoft.AspNet.WebPages.Data

對於那些試圖從MVC 4升級到MVC5的人來說,我可以按照http://www.asp.net/mvc/tutorials/mvc-5/how-to-upgrade上的說明解決這個問題。 -an-aspnet-mvc-4-and-web-api-project-to-aspnet-mvc-5-and-web-api-2

我還必須從nuget安裝“Microsoft.AspNet.WebApi.WebHost”軟件包。 但就是這樣。

哦,我必須創建這個appSetting: <add key="owin:AutomaticAppStartup" value="false" />

:)

我嘗試了上述所有解決方案,但在我發現web.config編譯元素引用了WebMatrix.Data和WebMatrix.WebData的2.0.0.0版之前,它仍然無效。 將web.config中這些條目的版本更改為3.0.0.0對我有所幫助。

mvc 4升級到mvc 5時,我一直在努力解決類似的問題:

嘗試通過安全透明方法'System.Web.WebPages.Administration.SiteAdmin.RegisterAdminModule()'來訪問安全關鍵方法'System.Web.WebPages.ApplicationPart..ctor(System.Reflection.Assembly,System.String)'失敗。

發布對話框中的刪除額外文件復選框為我解決了這個問題。

重新安裝Microsoft.AspNet.WebHelpers適合我

Update-Package –reinstall Microsoft.AspNet.WebHelpers

還有一個建議......這是由部署服務器上的站點bin文件夾中升級到MVC 5后來自MVC 3項目的一些舊dll引起的。 即使代碼庫不再使用這些dll,它們似乎也會導致問題。 把它全部清理干凈並重新部署,一切都很好。

您可能還會得到:

無法加載文件或程序集'WebMatrix.Data,Version = 3.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其依賴項之一。 定位的程序集的清單定義與程序集引用不匹配。 (HRESULT異常:0x80131040)

這已經轉移到這個包

 Install-Package Microsoft.AspNet.WebPages.Data

在嘗試此問題的任何答案之前以及更新軟件包之后,您可能應該進行干凈的構建

以下是我解決此問題的方法:

打開nuget 包管理器控制台並安裝以下nuget包:

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

清理解決方案,重建,我的asp.net Web應用程序開始工作!

從bin中刪除所有文件然后重建解決方案對我有用。

對我來說,這個錯誤是由於從MVC4升級到MVC5后DotNetOpenAuth與MVC5不兼容造成的。 卸載Microsoft.Web.WebPages.OAuth修復了問題。

我已從我的引用中刪除它。然后在包管理器控制台中運行它

Install-Package WebMatrix.Data

最后將WebMatrix.WebData程序集添加到引用,並重建項目。它對我有用。我希望它也能解決你的問題。

我通過helppages nuget包安裝了webapi。 該軟件包取代了大多數具有beta版本的asp.net mvc 4二進制文件,這些版本與項目的其余部分不能很好地協同工作。 修復是恢復原來的mvc 4 dll,一切都很好。

我遇到了同樣的問題,我不得不更新MVC Future(Microsoft.AspNet.Mvc.Futures)

Install-Package Microsoft.AspNet.Mvc.Futures

對我來說,通過添加解決了這個錯誤

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

在web.config中

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM