[英]Attempt by security transparent method '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.