5

昨天看到这篇文章是因为我想在我的 MVC 项目中实现属性路由。

http://www.asp.net/web-api/overview/web-api-routing-and-actions/attribute-routing-in-web-api-2

所以我根据评论中作者的信息去更新了。

Update-Package Microsoft.AspNet.WebApi.WebHost -Pre

一切都在本地运行良好,但它不会在服务器上构建。错误如下。

c:\BuildAgent\work\f8d76a59973cd8a9\Packages\Microsoft.AspNet.WebApi.Core.5.0.0-beta2\lib\net45\System.Web.Http.dll : 错误 CS1705: Assembly 'System.Web.Http, Version= 5.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35' 使用 'System.Net.Http,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a',它的版本高于引用的程序集 'System.Net.Http,Version =2.0.0.0,文化=中性,PublicKeyToken=b03f5f7f11d50a3a' [C:\BuildAgent\work\f8d76a59973cd8a9\Aggregator\Spin.TradingServices.Aggregator.Web\Spin.TradingServices.Aggregator.Web.csproj]

我有点了解发生了什么,并在这里找到了一些与其他人的问题有关的事情,但它们似乎都不起作用。我宁愿找到一个只需要更改项目而不是服务器的解决方案。

到目前为止,我有:

  1. 对于 System.Net.Http,将 copy local 设置为 true

  2. 设置绑定重定向。

    <assemblyIdentity name="System.Net.Http" publicKeyToken="31bf3856ad364e35" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
    

谢谢,希望有人可以帮忙。

4

1 回答 1

2

现在已修复。我做了以下事情 -

1 - 在程序集中指定版本。

<system.web>
  <compilation debug="true" targetFramework="4.5">
    <assemblies>
      <add assembly="System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
    </assemblies>
  </compilation>

2 - 将 System.Net.Http 的“复制本地”设置为 true

3 - 将 System.Net.Http.dll v4 复制到项目目录中 - 感谢 Aevitas。

非常抱歉,如果这对看似相同问题的任何人没有帮助。我不得不做很多小改动,可能没有全部记住。

谢谢

于 2013-07-21T21:03:56.443 回答