标签: fxcop

来自FxCop的哪条规则会停用?

我个人还没有使用FxCop.我们希望在进行代码分析之前先完成单元测试.但是,你会永久停用哪些规则?您会暂时停用哪些规则以及在哪种情况下停用?

code-analysis fxcop rules

4
推荐指数
1
解决办法
1033
查看次数

C#代码分析不喜欢受保护的静态s_Foo(CA1709,CA1707)

我通常m_private田野和s_前面的static成员面前添加一个.

用像这样的代码

protected static readonly Random s_Random = new Random ();
Run Code Online (Sandbox Code Playgroud)

我通过VS2008的代码分析得到以下警告:

  • CA1709:Microsoft.Naming:通过将其更改为"S"来更正成员名称"Bar.s_Random"中's'的大小写.
  • CA1707:Microsoft.Naming:从成员名称"Bar.s_Random"中删除下划线.

如何解决这个问题?我应该简单地删除s_?或者为此警告添加全局抑制?

编辑:我的公司缺乏编码标准,所以我可以为我的代码定义它们.(是的我懂...)

如果你认为s_一般应该删除,我很高兴你能提供官方消息来源.

c# code-analysis fxcop naming-conventions visual-studio-2008

4
推荐指数
1
解决办法
2099
查看次数

单元测试自定义FxCop规则

我想测试我的自定义fxrules.

我看过这篇文章:http://weblogs.asp.net/rosherove/archive/2007/02/24/writing-real-unit-tests-for-your-custom-fxcop-rules.aspx

但它不适用于最后一个版本的fxcop.Microsoft.Cci.Method.GetMethod不存在,我找不到替代方案.

你知道如何获得Microsoft.FxCop.Sdk.Method对象吗?

在此先感谢您的帮助.最好的祝福,

c# unit-testing fxcop

4
推荐指数
1
解决办法
932
查看次数

你能从msbuild.exe命令行关闭条件编译符号吗?

我们在C#组件中定义了CODE_ANALYSIS,以便FxCop在我们的开发盒上构建它们时对它们进行分析.我希望FxCop在运行我们的构建系统时关闭.构建系统显然使用msbuild.exe命令行命令.有没有办法从这个可执行文件修改条件编译符号?如果没有,有没有人知道我的问题的任何其他可能的解决方案(除了手动关闭)?

谢谢.

msbuild code-analysis fxcop

4
推荐指数
1
解决办法
3579
查看次数

我应该总是指定使用哪个IFormatProvider吗?

我尝试在我们的产品的几个程序集上运行FxCop,并且我获得了许多匹配"Specify IFormatProvider"规则.

碰巧,其中一些是合法的,但它也匹配这样的代码:

Logger.DebugFormat("Appending file {0}", fileName);
Run Code Online (Sandbox Code Playgroud)

哪个可以写成

Logger.DebugFormat(CultureInfo.InvariantCulture, "Appending file {0}", fileName);
Run Code Online (Sandbox Code Playgroud)

第二种变体更难阅读.

那么,它是否真的建议始终指定IFormatProvider或者"仅仅"是规则中使用的启发式的限制?

.net fxcop iformatprovider

4
推荐指数
1
解决办法
4980
查看次数

如何将.NET 3.5和.NET 4.0程序集添加到FxCop代码分析?

我想分析一个解决方案,其中包含针对.NET 3.5 SP1的项目以及一些针对.NET 4的项目,这些项目依赖于.NET 3.5库.

当我尝试添加两个程序集时,一个用于.NET 3.5,另一个用于.NET 4,FxCop会抛出异常:

AssemblyLoadException
Conflicting target platforms
'mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' vs
'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.
Run Code Online (Sandbox Code Playgroud)

有没有办法告诉FxCop只使用版本4.0.0.0?

.net fxcop .net-4.0 assembly-resolution .net-3.5

4
推荐指数
1
解决办法
2372
查看次数

除了FxCop之外,.net中代码分析的任何替代方案?

我想知道是否有任何替代代码分析.我想可以从头开始创建一个代码分析器,虽然这是一项繁琐的工作,但我不确定它是否值得.还有其他非特定于网络的分析仪吗?

谢谢,孙

.net c# code-analysis fxcop

4
推荐指数
2
解决办法
4129
查看次数

VS2012与Fxcop的代码分析

我是代码分析的新手,在这里我不知道vs2012中的代码分析工具和Fxcop工具之间的区别和用法.

请提供一些细节.

c# code-analysis fxcop visual-studio-2012

4
推荐指数
1
解决办法
8504
查看次数

禁用代码分析输出MSBuild

我正在使用构建定义构建项目.执行此操作时,还会执行代码分析.代码分析输出各种文件,包括:

ConsoleApplication2.exe.CodeAnalysisLog.xml
ConsoleApplication2.exe.lastcodeanalysissucceeded
Run Code Online (Sandbox Code Playgroud)

有没有办法在我的构建定义中禁用此输出,例如通过参数或类似的东西?

msbuild code-analysis fxcop

4
推荐指数
2
解决办法
1972
查看次数

TeamCity FxCop选择MinimumRecommendedRules.ruleset无效

我在TeamCity 8.0.6(build 27767)中添加了一个Build Step,以针对特定的c#项目程序集执行FxCop.

当使用MinimumRecommendedRules设置从VS 2013中运行FxCop时,我没有得到任何错误或警告(我将它们全部修复).

现在我想在TeamCity中进行连接.要限制规则,我将指定命令行属性,如下所示:

/ruleSet:=MinimumRecommendedRules.ruleset  /rulesetdirectory:'FxCop\Rule Sets'
Run Code Online (Sandbox Code Playgroud)

(rulesetdirectory参数指向源树中包含标准规则集文件夹的完整内容的位置)

但是,这没有所需的行为,运行FULL规则集,我得到如下错误:

FxCop警告:关键字= CA0063种类=引擎类型= Microsoft.FxCop.Sdk.FxCopException*无法加载规则集文件"MinimumRecommendedRules.ruleset"或其依赖规则集文件之一.

这是TeamCity生成的命令行:

[17:32:29]开始:"C:\ Program Files(x86)\ Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\FxCopCmd.exe"/ forceoutput/ignoregeneratedcode /ruleSet:=MinimumRecommendedRules.ruleset"/ rulesetdirectory:'FxCop\Rule Sets'"/ f:dal\bin\release\MyDAL.dll /out:C:\TeamCity\buildAgent\temp\buildTmp\fxcop-output-1891867450083417003\fxcop-result.xml

谁能发现什么是错的?

fxcop fxcopcmd teamcity-8.0

4
推荐指数
1
解决办法
1608
查看次数