繁体   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