代码分析错误无法在MVC4 Web API中加载文件或程序集"System.Net.Http,Version = 2.0.0.0"

Mat*_*zen 28 asp.net-web-api

这个问题是完全一样的这篇文章http://forums.asp.net/t/1807797.aspx/1?System+Net+Http+is+not+found而这一次在计算器上

我拥有所有最新的RTM位,在.Net 4.5中启动了一个新的MVC 4,添加了WebAPI nuget包,现在我的代码分析失败,并出现与上述链接中报告的相同的错误.

CA0058运行代码分析时出错CA0058:找不到引用的程序集"System.Net.Http,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a".此程序集是分析所必需的,并通过以下方式引用:C:\ Projects\InHouse\TimeRecorder\StopGap\TimeRec\bin\TimeRec.dll,C:\ Projects\InHouse\TimeRecorder\StopGap\packages\Microsoft.AspNet.WebApi.Core .4.0.20710.0\LIB \net40\System.Web.Http.dll.[错误和警告] - (全球)

从我可以发现这似乎发生在RC版本中,因为.NET 4.5框架System.Net.Http和WebApi版本的System.Net.Http之间存在冲突.

StackOverflow响应的其他答案谈到从.Net 4.5降级到4.0,原因很明显,这不是我的首选解决方案!

小智 71

请尝试以下方法:

  1. 根据您的Visual Studio版本导航到:
    • VS 2010:
      %ProgramFiles(x86)%\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop
    • VS 2012:
      %ProgramFiles(x86)%\Microsoft Visual Studio 11.0\Team Tools\Static Analysis Tools\FxCop
  2. 打开FxCopCmd.exe.configAssemblyReferenceResolveModeStrongName更改为StrongNameIgnoringVersion.
  3. 保存更改并重建项目.


Dav*_*ean 5

从Visual Studio 2012及更高版本,而不是修改安装文件,请使用此处指定的解决方法:在代码分析中使用Microsoft.Bcl.Async会导致错误.