FxCop分析未找到间接引用的程序集 - GAC问题?

时间:2011-11-25 09:54:59

标签: .net gac fxcop arcgis

我正在针对FxCop运行我的DLL,它返回问题,如图中所示(它还抱怨System.Windows.Browser和System.Core,相同的版本):

Indirect Assembly issue

我告诉FxCop搜索GAC并且它没有帮助。我的项目中引用了System.Runtime.Serialization,但它显示为版本4.0.0.0。我没有在任何地方看到这个特定版本的文件。

虽然我可以跳过它意味着当我在Visual Studio中使用FxCop Integrator时它会失败但我不知道如果我尝试集成到自动构建中会发生什么。

但更重要的是,我很好奇你如何解决它,因为我不喜欢不理解什么是错误的。

2 个答案:

答案 0 :(得分:1)

版本2.0.5.0的BCL DLL是Silverlight 4的一部分,您可能没有在您的开发机器上安装它。由于您可能不使用针对Silverlight的Esri.ArgGIS.Client.dll程序集的部分,因此您可以安全地忽略该警告。

对于这个问题,FxCop Integrator似乎存在一个未解决的问题,因此您有三个基本选择:

  1. 保持原样,并希望很快会在FxCop Integrator中引入忽略这些警告的选项,
  2. 停止使用FxCop Integrator或
  3. 安装Silverlight 4。
  4. 对于自动构建,行为将取决于您的构建平台。而不是试图猜测自动构建中会发生什么,为什么不继续尝试呢?

答案 1 :(得分:1)

请看一下这个答案:https://stackoverflow.com/a/20799480/698

您可能仍在使用FxCop 10.0,它无法通过PCL处理此情况。

一旦我切换到使用VS.NET 2012或VS.NET 2013 FxCop二进制文件,它再次起作用。

您在问题中添加了屏幕截图。不幸的是,FxCop11和FxCop12没有附带UI版本(因为它已集成到VS.NET中)