C# 尝试使用安全透明方法';system.web.mvc.preapplicationStartcode.start';要访问安全标准方法。。失败

C# 尝试使用安全透明方法';system.web.mvc.preapplicationStartcode.start';要访问安全标准方法。。失败,c#,asp.net,asp.net-mvc,C#,Asp.net,Asp.net Mvc,尝试通过安全透明方法“System.Web.Mvc.PreApplicationStartCode.Start()”访问安全关键方法“System.Web.WebPages.Razor.PreApplicationStartCode.Start()”失败 我在运行项目时遇到上述错误 我读过一些关于从nuget下载包的帖子,但我的问题是,这个项目是从我们的源代码管理下载的,它似乎可以直接在所有其他机器上运行。 在这台新机器上没有。 理想情况下,我不想去搞乱这个项目,在源代码管理中检查一些东西,这会

尝试通过安全透明方法“System.Web.Mvc.PreApplicationStartCode.Start()”访问安全关键方法“System.Web.WebPages.Razor.PreApplicationStartCode.Start()”失败

我在运行项目时遇到上述错误

我读过一些关于从nuget下载包的帖子,但我的问题是,这个项目是从我们的源代码管理下载的,它似乎可以直接在所有其他机器上运行。 在这台新机器上没有。 理想情况下,我不想去搞乱这个项目,在源代码管理中检查一些东西,这会在其他机器上破坏它

该项目本身是一个古老的经典asp项目,包含一些.net内容,包括webforms和一些razor,以前它是在VS 2012/2015中运行的,现在这台新机器是VS 2017。我不知道这是否相关,所以我的问题是:


在实际的“环境”中是否有什么东西可能会丢失,而不是在实际的sln/项目中?

我也有类似的问题。我的代码在本地PC上运行得很好,在Dev上运行得很好,但在UAT盒上我遇到了同样的错误

对我来说,问题是我从nuget安装了错误的dll版本组合。我有System.Web.MVC v4和System.Web.Pages v3(用于MVC 5)

我猜这在本地和开发中都可以,因为MVC已经安装,它可以在GAC中找到正确版本的DLL

使用System.Web.Mvc v5为我解决了这个问题