【问题标题】:Attempt by security transparent method 'system.web.mvc.preapplicationStartcode.start' to access security critcal method.. failed尝试通过安全透明方法“system.web.mvc.preapplicationStartcode.start”访问安全关键方法..失败
【发布时间】:2017-07-31 11:02:53
【问题描述】:

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

运行项目时出现上述错误。

我已经阅读了一些关于从 nuget 下载包的帖子,但我的问题是,这个项目是从我们的源代码控制下载的,而且它似乎可以直接在所有其他机器上运行。 在这台新机器上它没有。 理想情况下,我不想弄乱项目并将某些内容检查到源代码管理中,这会在其他机器上破坏它。

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

在实际的“环境”中而不是在实际的 sln/项目中是否有任何可能丢失的东西

【问题讨论】:

    标签: c# asp.net asp.net-mvc


    【解决方案1】:

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

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

    我的猜测是这在本地和 Dev 中都可以正常工作,因为已经安装了 MVC,它可以在 GAC 中找到正确版本的 dll。

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

    【讨论】:

      猜你喜欢
      • 2013-12-13
      • 1970-01-01
      • 1970-01-01
      • 2017-03-15
      • 1970-01-01
      • 2014-06-09
      • 2014-11-06
      • 2013-10-04
      • 2015-06-20
      相关资源
      最近更新 更多