我最近开始按照本指南进行操作,以将项目迁移到.NET 4.5.1和Web Api 2。
MS开发人员Rick Anderson要求您做的第一件事就是更改:
WebApiConfig.Register(GlobalConfiguration.Configuration);
至
GlobalConfiguration.Configure(WebApiConfig.Register);
在global.asax文件中。但是当我尝试构建时,这给了我一个错误:
错误1'System.Web.Http.GlobalConfiguration'不包含'Configure'的定义
我的项目目前在MVC 5,Web Api 2和.NET 4.5.1上,但是我认为System.Web.Http仍然认为它是.NEt 4.0版本。
我该如何解决这个问题?
谢谢。
编辑:
这是我的程序集绑定:
<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.0.0.0" newVersion="5.0.0.0"/>
</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.Mvc" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-5.0.0.0" newVersion="5.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.Http" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-5.0.0.0" newVersion="5.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.WebPages.Razor" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0"/>
</dependentAssembly> -->
</assemblyBinding>
在顶部被注释后,所有注释掉的东西,因为我遇到了错误:
警告2发现了无法解决的相同从属程序集的不同版本之间的冲突。将日志详细程度设置为“详细”时,这些参考冲突会在构建日志中列出。
摆脱硬约束可以解决这个问题。
Microsoft.AspNet.Web.Helpers.Mvc
先卸载了吗?