Asp.net web api 全局配置-尝试访问字段'<&燃气轮机;9_ucachedanonymousmethoddelegate2';失败

Asp.net web api 全局配置-尝试访问字段'<&燃气轮机;9_ucachedanonymousmethoddelegate2';失败,asp.net-web-api,Asp.net Web Api,我在设置依赖项解析程序时遇到此错误 代码: GlobalConfiguration.Configuration.DependencyResolver=新的UnityDependencyResolver(容器) 错误: 通过方法“System.Web.Http.GlobalConfiguration..cctor()”尝试访问字段“System.Web.Http.GlobalConfiguration.CS$9_ucachedanonymousmethoddelegate2”失败 我错过了什么 发

我在设置依赖项解析程序时遇到此错误

代码:

GlobalConfiguration.Configuration.DependencyResolver=新的UnityDependencyResolver(容器)

错误:

通过方法“System.Web.Http.GlobalConfiguration..cctor()”尝试访问字段“System.Web.Http.GlobalConfiguration.CS$9_ucachedanonymousmethoddelegate2”失败

我错过了什么

发布的所有解决方案都涉及安装最新版本的Microsoft.AspNet.WebApi

安装软件包Microsoft.AspNet.WebApi-IncludePrecision

但是,我已经有了所需程序集的所有最新版本,并且仍然会遇到此错误

<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <dependentAssembly>
            <assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31BF3856AD364E35" culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-5.1.0.0" newVersion="5.1.0.0" />
        </dependentAssembly>
  <dependentAssembly>
    <assemblyIdentity name="System.Web.Optimization" publicKeyToken="31bf3856ad364e35" />
    <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="1.1.0.0" />
  </dependentAssembly>
  <dependentAssembly>
    <assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" />
    <bindingRedirect oldVersion="0.0.0.0-1.5.2.14234" newVersion="1.5.2.14234" />
  </dependentAssembly>
  <dependentAssembly>
    <assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
    <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
  </dependentAssembly>
  <dependentAssembly>
    <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" />
    <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
  </dependentAssembly>
  <dependentAssembly>
    <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
    <bindingRedirect oldVersion="0.0.0.0-5.1.0.0" newVersion="5.1.0.0" />
  </dependentAssembly>
  <dependentAssembly>
    <assemblyIdentity name="DotNetOpenAuth.AspNet" publicKeyToken="2780ccd10d57b246" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-4.3.0.0" newVersion="4.3.0.0" />
  </dependentAssembly>
  <dependentAssembly>
    <assemblyIdentity name="DotNetOpenAuth.Core" publicKeyToken="2780ccd10d57b246" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-4.3.0.0" newVersion="4.3.0.0" />
  </dependentAssembly>
  <dependentAssembly>
    <assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-5.1.0.0" newVersion="5.1.0.0" />
  </dependentAssembly>
  <dependentAssembly>
    <assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31bf3856ad364e35" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-5.1.0.0" newVersion="5.1.0.0" />
  </dependentAssembly>
</assemblyBinding>

安装了软件包,但显然有些参考资料来自GAC,而不是NuGet软件包文件夹

这些都是手动删除的,我在packages文件夹中添加了引用,并且成功了


(应该有一个NuGet功能来“清理”引用,以便它们从packages文件夹而不是其他地方获取。)

我通过安装Microsoft ASP.NET Web API 2.2解决方案链接来解决此问题:

我有一个同样的问题,这个问题的解决办法解决了

PM>安装软件包Microsoft.AspNet.WebApi-预安装
它将包括一个预发布版本。

同样的问题-一些引用没有指向\packages文件夹,因此我删除了它们并通过\packages文件夹重新添加,并且“尝试方法”System.Web.Http.GlobalConfiguration..cctor()“访问字段”System.Web.Http.GlobalConfiguration.CS$9_CachedAnonymousMethodDelegate2“失败”错误消失了。