VS2015 + Nuget + WebAPI2(不正确的System.Web.Http参考)

时间:2016-05-23 13:34:11

标签: visual-studio-2015 asp.net-web-api2 nuget-package-restore

我有几个项目有Nuget引用Microsoft.AspNet.WebApi.Core(我的每个REST服务都是一个单独的项目)。现在,如果只是创造和建造,这一切都在游泳。但是,当有人从我们的源代码控制中提取此解决方案时,他们显然不会获得任何Nuget包,二进制文件或对象文件夹。这就是问题所在......

提供干净的解决方案时,对System.Web.Http.dll(来自Microsoft.AspNet.WebApi.Core)的引用不正确。似乎Visual Studio只是忽略了之前引用的内容并搜索替换内容。期望这个程序集的每个项目通常都会指向Nuget引入的项目。但他们都指出:

C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 4\Assemblies\System.Web.Http.dll

因此,如果Nuget软件包已恢复,则此程序集保持不变,因此会破坏构建。查看项目文件,我发现:

<Reference Include="System.Web.Http, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
  <SpecificVersion>False</SpecificVersion>
  <HintPath>..\..\..\..\lib\nuget\Microsoft.AspNet.WebApi.Core.5.2.3\lib\net45\System.Web.Http.dll</HintPath>
  <Private>True</Private>
</Reference>

这是100%正确,这是我想要的程序集。那我为什么不明白呢?或者更好的问题是,为什么Nuget在恢复期间没有用正确的引用替换错误的引用?

0 个答案:

没有答案