【问题标题】:Web API - Web Forms Project Security ErrorWeb API - Web 窗体项目安全错误
【发布时间】:2015-03-07 03:33:21
【问题描述】:

我在使用 Web API 的项目时遇到问题。

在 global.asax 文件中我有这个,它给出了一个错误提示

System.Web.Http.WebHost.dll 中出现“System.TypeLoadException”类型的异常,但用户代码中没有处理

附加信息:覆盖成员时违反了继承安全规则:“System.Web.Http.WebHost.Routing.HostedHttpRoute.get_RouteTemplate()”。重写方法的安全可访问性必须与被重写方法的安全可访问性相匹配。

在这条线上

RouteTable.Routes.MapHttpRoute(name:="DefaultApi", routeTemplate:="api/{controller}/{id}", defaults:=New With { _
  Key .id = RouteParameter.[Optional] _

})

我升级了一些软件包。这曾经是我的 packages.config 文件

 <package id="Microsoft.AspNet.WebApi.Client" version="4.0.20710.0" targetFramework="net45" />
 <package id="Microsoft.AspNet.WebApi.Core" version="4.0.20710.0" targetFramework="net45" />
 <package id="Microsoft.AspNet.WebApi.WebHost" version="4.0.20710.0" targetFramework="net45" />

他们现在升级到这个:

<package id="Microsoft.AspNet.WebApi.Client" version="5.2.3" targetFramework="net45" />
<package id="Microsoft.AspNet.WebApi.Core" version="5.2.3" targetFramework="net45" />
<package id="Microsoft.AspNet.WebApi.WebHost" version="4.0.30506.0" targetFramework="net45" />

知道为什么我在升级后刚开始收到此错误吗?

非常感谢!

【问题讨论】:

  • 你解决了吗?我有同样的问题。谢谢

标签: asp.net asp.net-web-api


【解决方案1】:

我有引用项目 B 的项目 A。 在项目 B 中有控制器,我正在为这些控制器调用 RouteTable.Routes.MapHttpRoute。

在我的案例中,我发现问题在于项目 A 中的 WebApi NuGet 包版本高于引用的项目 B。

【讨论】:

    猜你喜欢
    • 2012-01-23
    • 1970-01-01
    • 2016-11-12
    • 1970-01-01
    • 1970-01-01
    • 2012-12-19
    • 2014-01-15
    • 1970-01-01
    • 2014-04-24
    相关资源
    最近更新 更多