的MSBuild和FxCop的问题(MsBuild and FxCop problems)

2019-10-16 20:33发布

我试图做一个构建文件使用CMD或詹金斯建设工作的MSBuild运行。

该项目的结构

演示是在这里: www.saramgsilva.com/wp7/sarasilvademo.rar

现在我有3种diferents方式来运行的FxCop,但我在所有的问题。

1)在CMD去根文件,然后运行

C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe  .\SaraSilva.WP7.build /target:FxCop

这表明一个错误:退出代码为128

2)在cmd中去根文件,然后运行

C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe  .\SaraSilva.WP7C.build /target:FxCop

这不创建buildartifacts \ FxCop的\ FxCopAnalysis.xml文件。

3)在cmd中去根文件,然后运行

C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe  .\SaraSilva.WP7.build /target:TestWithCoverage

C:\SaraSilvaDemo\tools\FxCop-1.36\FxCopCmd.exe /file:C:\SaraSilvaDemo\buildartifacts /directory:C:\SaraSilvaDemo\buildartifacts\ /rule:C:\SaraSilvaDemo\tools\FxCop-1.36\Rules /out:C:\SaraSilvaDemo\buildartifacts\fxcop-result.xml

其结果是:

微软(R)的FxCop命令行工具,1.36版本(9.0.30729.1)版权所有(C)2007年微软公司。 版权所有。

加载DesignRules.dll ...加载GlobalizationRules.dll ...加载InteroperabilityRules.dll ...加载MobilityRules.dll ...加载NamingRules.dll ...加载PerformanceRules.dll ...加载PortabilityRules.dll加载... SecurityRules.dll ...加载UsageRules.dll ...无法加载Cimbalino.Phone.Toolkit.dll。 无法加载GalaSoft.MvvmLight.Extras.WP71.dll。 无法加载GalaSoft.MvvmLight.WP71.dll。 无法加载Microsoft.Phone.Controls.dll。 无法加载Microsoft.Practices.ServiceLocation.dll。 无法加载mscorlib.Extensions.dll。 无法加载NLog.dll。 加载nunit.framework.dll中...加载SaraSilva.WP7.AllTests.dll ...无法加载SaraSilva.WP7.App.dll。 无法加载SaraSilva.WP7.Model.dll。 无法加载SaraSilva.WP7.SampleData.dll。 无法加载SaraSilva.WP7.SchedTask.dll。 无法加载SaraSilva.WP7.Service.dll。 加载System.Core.dll ...无法加载System.dll中。 无法加载System.Windows.Browser.dll。 加载System.Windows.dll中......无法加载System.Windows.Interactivity.dll。 无法加载system.xml.dll的。 无法加载TombstoneHelper.dll。 初始化自省引擎...无法解析参考System.Net。 分析完成。

注:一个或多个引用的程序无法找到。 使用“/目录”开关来指定额外的组装参照搜索路径。

  • 未进行分析; 至少一个有效规则汇编和有效的目标文件必须指定。
  • 2个总分析引擎异常。 写报告到C:\ SaraSilvaDemo \ buildartifacts \ FxCop的,为result.xml ...完成。

我不知道该怎么办 :(

Answer 1:

答案是下面的开关添加到命令行来告诉FxCop的搜索GAC程序集:

/gac


Answer 2:

虽然我使用的FxCop 10.0你把错误代码是similiar:

注:一个或多个引用的程序无法找到。 使用“/目录”开关来指定额外的组装参照搜索路径。

因此,对于我来说,我修改FxCopCmd.exe.config文件,并改变AssemblyReferenceResolveMode从强名称StrongNameIgnoringVersion

这是为了确保它不会试图找到引用的程序集的特定版本

也确保在Visual Studio中的DLL性质是有复制本地=真



文章来源: MsBuild and FxCop problems
标签: msbuild fxcop