MsBuild和FxCop问题
我正在尝试使用cmd或jenkins build job创建一个生成文件,以便与msbuild一起运行 该项目的结构是: 演示如下: 现在我有3种不同的方法来运行fxcop,但我都有问题 cmd中的1转到根文件,然后运行MsBuild和FxCop问题,msbuild,fxcop,Msbuild,Fxcop,我正在尝试使用cmd或jenkins build job创建一个生成文件,以便与msbuild一起运行 该项目的结构是: 演示如下: 现在我有3种不同的方法来运行fxcop,但我都有问题 cmd中的1转到根文件,然后运行 C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe .\SaraSilva.WP7.build /target:FxCop C:\Windows\Microsoft.NET\Framework\v4.0.303
C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe .\SaraSilva.WP7.build /target:FxCop
C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe .\SaraSilva.WP7C.build /target:FxCop
C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe .\SaraSilva.WP7.build /target:TestWithCoverage
这将显示一个错误:以代码128退出
2在cmd中转到根文件,然后运行
C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe .\SaraSilva.WP7.build /target:FxCop
C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe .\SaraSilva.WP7C.build /target:FxCop
C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe .\SaraSilva.WP7.build /target:TestWithCoverage
这不会创建buildartifacts\FxCop\FxCopAnalysis.xml文件
3在cmd中转到根文件,然后运行
C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe .\SaraSilva.WP7.build /target:FxCop
C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe .\SaraSilva.WP7C.build /target:FxCop
C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe .\SaraSilva.WP7.build /target:TestWithCoverage
及
结果是:
Microsoft 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的引用。分析
完成
注意:找不到一个或多个引用的程序集。使用
“/directory”开关以指定其他程序集引用搜索
路径
未进行分析;必须至少指定一个有效的规则程序集和一个有效的目标文件。
2总分析引擎异常。正在将报告写入C:\SaraSilvaDemo\buildartifacts\fxcop result.xml。。。完成。
我不知道该怎么办:答案是在命令行中添加以下开关,告诉FxCop在GAC中搜索程序集:
/gac
答案是将以下开关添加到命令行,以告知FxCop在GAC中搜索程序集:
/gac
虽然我使用的是FXCop 10.0,但您输入的错误代码与此类似: 注意:找不到一个或多个引用的程序集。使用“/directory”开关指定其他程序集引用搜索路径 因此,对于我的案例,我修改了FxCopCmd.exe.config文件,并将AssemblyReferenceSolveMode从StrongName更改为StrongNameIgnoringVersion 这是为了确保它不会试图查找引用程序集的特定版本
另外,请确保在Visual Studio中,dll属性具有Copy Local=True,尽管我使用的是FXCop 10.0,但您输入的错误代码与此类似: 注意:找不到一个或多个引用的程序集。使用“/directory”开关指定其他程序集引用搜索路径 因此,对于我的案例,我修改了FxCopCmd.exe.config文件,并将AssemblyReferenceSolveMode从StrongName更改为StrongNameIgnoringVersion 这是为了确保它不会试图查找引用程序集的特定版本
另外,请确保在Visual Studio中dll属性具有Copy Local=True我收到错误消息注意:找不到一个或多个引用的程序集。使用“/directory”开关指定其他程序集引用搜索路径。此开关/gac修复了该问题。我收到错误消息注意:找不到一个或多个引用的程序集。使用“/directory”开关指定其他程序集引用搜索路径。此开关/gac修复了该问题。