尝试安全透明方法“WebMatrix.WebData.PreApplicationStartCode.Start()'
更新:同样的mvc 4到mvc 5。
我开始了一个新的mvc 4项目,并在其中移植了一个mvc 3项目(controllers / models / scripts等)。 虽然一切编译现在我得到以下错误:
尝试通过安全透明方法“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包pipe理器。
Install-Package Microsoft.AspNet.WebHelpers
之后,可能你会得到另一个错误
无法加载WebMatrix.Data版本3.0.0.0程序集
修复这个安装这个包使用NuGet包pipe理器。
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”包。 但就是这样。
哦,我不得不创build这个appSetting: <add key="owin:AutomaticAppStartup" value="false" />
🙂
我尝试了所有上述解决scheme,它仍然无法正常工作,直到我发现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)”失败。
发布对话框中的删除额外文件checkbox为我解决了它。
重新安装Microsoft.AspNet.WebHelpers
为我工作
Update-Package –reinstall Microsoft.AspNet.WebHelpers
还有一个build议…在部署服务器上的站点bin文件夹中升级到MVC 5之后,这是由MVC 3项目中的一些老的dll造成的。 即使这些DLL不再被代码库使用,他们似乎是造成这个问题。 清理全部并重新部署,并没有问题。
您也可能得到:
无法加载文件或程序集“WebMatrix.Data,Version = 3.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35”或其某个依赖项。 定位的程序集清单定义与程序集引用不匹配。 (来自HRESULT的exception:0x80131040)
这已经转移到这个包
Install-Package Microsoft.AspNet.WebPages.Data
在尝试对这个问题的任何答案之前以及在更新包之前,你应该做一个干净的构build
这是我如何解决这个问题:
打开nuget 包pipe理器控制台并安装下面的nuget包:
Install-Package WebMatrix.Data Install-Package Microsoft.AspNet.WebHelpers Update-Package
清理解决scheme,重build和我的asp.net Web应用程序开始工作!
从bin中删除所有文件,然后重新构build解决scheme为我工作。
对我来说,这个错误是由于从MVC4升级到MVC5之后DotNetOpenAuth与MVC5不兼容造成的。 卸载Microsoft.Web.WebPages.OAuth修复了这个问题。
我已经从我的引用中删除它。然后在程序包pipe理器控制台中运行
Install-Package WebMatrix.Data
最后添加WebMatrix.WebData程序集到引用,并重build项目。它为我工作,我希望它也解决了你的问题。
我通过helppages nuget包安装了webapi。 该软件包将大部分asp.net mvc 4二进制文件replace为与testing版本不兼容的beta版本。 修复是恢复原来的MVC 4 DLL,一切都很好。
我有同样的问题,我不得不更新MVC未来(Microsoft.AspNet.Mvc.Futures)
Install-Package Microsoft.AspNet.Mvc.Futures