更新: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/EF 5升级到MVC 5/EF 6.我将框架从4.5更新到4.5.1然后从NuGet更新了解决方案MVC(4.0.30506.0到5.1.1)和EntityFramework (5至6.1.1).这引起了Razor依赖(2.0.30506.0到3.1.1)和WebPages(2.0.30506.0到3.1.1).我编辑了Project and Views文件夹web.config以反映更改并从csproj中删除了GUID.
当我在调试中运行该站点时,在 - section name ="host"type ="System.Web.WebPages.Razor.Configuration.HostSection - line"上加载Views文件夹web.config时出错.
"为system.web.webPages.razor/host创建配置节处理程序时出错:无法加载文件或程序集'System.Web.WebPages.Razor,Version = 3.1.1"
它在前一行(System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup)或根web.config中的Razor引用没有问题.不幸的是,堆栈跟踪不识别调用程序集.
调用程序集:(未知).
所有相关文件都包含在下面.
有谁知道问题是什么,更重要的是如何解决它.我只更新了最基本的NuGet包:MVC和实体框架.
packages.config:
…
<package id="EntityFramework" version="6.1.0" targetFramework="net451" />
<package id="jQuery" version="2.0.2" targetFramework="net45" />
<package id="jQuery.UI.Combined" version="1.10.3" targetFramework="net45" />
<package id="jQuery.Validation" version="1.11.1" targetFramework="net45" />
<package id="knockoutjs" version="2.2.1" targetFramework="net45" />
<package id="Microsoft.AspNet.Mvc" version="5.1.1" targetFramework="net451" />
<package id="Microsoft.AspNet.Mvc.FixedDisplayModes" version="5.0.0" targetFramework="net451" />
<package id="Microsoft.AspNet.Razor" version="3.1.1" targetFramework="net451" />
<package id="Microsoft.AspNet.Web.Optimization" version="1.0.0" targetFramework="net45" />
…
<package id="Microsoft.AspNet.WebPages" version="3.1.1" targetFramework="net451" />
<!-- oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" --> …Run Code Online (Sandbox Code Playgroud) 无法加载文件或程序集'WebMatrix.Data,Version = 3.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其依赖项之一.该系统找不到指定的文件.