-->

FxCop的间接引用System.Core程序版本2.0.5.0(FxCop indirect re

2019-07-22 03:38发布

我有一个使用Autofac一个项目,和的WebAPI整合

我们运行的FxCop在我们的解决方案,并在打开autofac,我得到如下:

下面的间接引用的组件找不到。 不需要此组件,用于分析,但是,如果没有它,分析结果可能是不完整的。 这种组装是由Autofac.dll引用

System.Core程序,版本= 2.0.5.0,文化=中性公钥= 7cec85d7bea7798e,重定目标=是

这将导致我们的CI服务器上的以下错误:

FxCop的返回码(516):PROJECT_LOAD_ERROR ASSEMBLY_REFERENCES_ERROR

有没有办法告诉FxCop的忽视呢?

Answer 1:

对我们的项目与AutoMapper 3.1.0相同的问题。 真正的问题是一个老版本的FxCop的。 最后的正式发布是FxCop的10.0 ,但FxCop的新版本已经捆绑使用Visual Studio 2012年以来我刚更换过的FxCop 10.0与中可以找到的版本:

  • C:\ Program Files文件(x86)的\微软的Visual Studio 11.0 \团队工具\静态分析工具\的FxCop

要么

  • C:\ Program Files文件(x86)的\微软的Visual Studio 12.0 \团队工具\静态分析工具\的FxCop

,问题就解决了。



Answer 2:

与便携式类库运行时,这是一个常见的FxCop的事情。 这不是Autofac; 你只是碰巧看到它,因为Autofac是您正在使用的仅PCL。 根据我的经验,似乎这个错误不一样,如果你在Windows 8机器上建立的情况发生,但在Windows 7或服务器2008 R2我看到了很多。

这是不是一个错误,没有,你不会找到你的机器上2.0.5.0。 该版本实际上是对Silverlight和运行.NET“东西”处理重定向到正确的程序集版本。 不幸的是,FxCop的是更少的合作。

我看到了同样的事情在我的构建和利用这样的问题的建议解决了这个问题: 如何解决FxCop的错误代码512?



Answer 3:

您必须在项目的FxCop文件添加到组件目录的参考。 例如:

<Targets>
  <AssemblyReferenceDirectories>
   <Directory>C:/Windows/Microsoft.NET/assembly/GAC_MSIL/Microsoft.Web.Infrastructure/v4.0_1.0.0.0__31bf3856ad364e35/</Directory>
   <Directory>C:/Windows/Microsoft.NET/assembly/GAC_MSIL/System.Web.Mvc/v4.0_3.0.0.0__31bf3856ad364e35/</Directory>
  </AssemblyReferenceDirectories> 


Answer 4:

解决此问题的是缺少System.Core.dll复制到项目的输出目录。 我做了这是一个postbuild事件从一个共享文件夹复制System.Core.dll项目\ bin目录。 您可以从Silverlight的SDK安装2获得System.Core.dll的副本。

现在的FxCop成功运行没有任何问题。 请注意,我用的FxCop集成的Visual Studio 2010。



文章来源: FxCop indirect reference to System.Core version 2.0.5.0
标签: autofac fxcop