问题标签 [fxcopcmd]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
952 浏览

firefox - 如何在 Firefox 中显示 fxcop 报告 Jenkins 人工制品?

我在 Jenkins 中显示 FXCop 10.0 报告时遇到问题。FXCop 结果和 FxCopReport.xsl 被添加为人工制品。

我们使用 /oXsl 参数调用 FXCop 来修改对 xsl 的引用,它看起来像这样:

报告在 IE 中正确显示,但在 Firefox 中我们得到未格式化的字符串。如何修复?

0 投票
4 回答
7661 浏览

c# - FxCop 无法解析引用

我正在使用 C# 开发项目。现在我已经设置了一个 Hudson 服务器,并在服务器上安装了 .Net 4 Framework 和 Windows SDK 7.1。

该项目成功构建,但是当我启动 FxCop 时:

它加载所有 .dll 规则文件,然后发生以下异常:

我在项目中使用 WPF,我认为 FxCop 找不到 WPF 库。有人可以帮我吗?

0 投票
1 回答
218 浏览

c# - 如何在 fxcop 中识别方法

我正在尝试创建一个自定义 fxcop 规则,该规则检查目标程序集中的所有方法,它们的名称不是以大写字母开头。我在这方面做得非常成功,但有一个问题。该规则也会为“委托方法”引发错误,例如。我不想要的 btnOk_Click,有没有办法使用任何预定义的属性/方法来识别/过滤 fxcop 中的委托方法?

0 投票
1 回答
2990 浏览

c# - 513 错误代码(退出代码)FxCop 使用 C#

我有 VS2010、Windows 7 位、FxCop 10.0

我使用 Process.Start 执行 Fxcopcmd.exe,得到 513 “exitcode”(错误代码)值。

以下参考资料中的托德·金说:

在这种情况下,退出代码 513 意味着 FxCop 有一个分析错误 (0x01) 和一个程序集引用错误 (0x200)

http://social.msdn.microsoft.com/Forums/en-US/vstscode/thread/1191af28-d262-4e4f-95d9-73b682c2044c/

我想如果它像

513 整数值为 0x201(查看int 为十六进制字符串,并且Enum.Parse 无法转换字符串

如何仅使用 exitcode (513 , 0x201) 值以编程方式知道错误(分析错误(0x01)和程序集引用错误(0x200))?

有关 FxCopCmd 和代码分析的错误代码的更多信息:

0 投票
1 回答
1279 浏览

teamcity - 通过命令行从 FXCop 中排除规则

不久前正在使用 MSBuild 任务,并找到了一些关于能够排除特定规则的文档,例如 -Microsoft.Design#CA2210。MSBuild 任务将其转换为 /rule:-Microsoft.Design#CA2210。

我们现在在 TeamCity 中使用 FXCop 构建运行程序,并且将该参数添加到其他命令行参数中失败:

无法加载规则文件“-Microsoft.Design#CA2210;-Microsoft.Design#CA1020”:找不到指定的文件。

似乎这个论点是指定规则集,而不是个别规则。这可以做到吗?

0 投票
1 回答
2212 浏览

c# - VS2010 中的 FxCop 行为、代码分析和 SuppressMessage

我有一堂像这样的课:

我使用自定义规则集文件CustomRules.ruleset

当我运行内置代码分析工具的 VS2010 时,我收到以下警告:

CA1709:Microsoft.Naming:通过将成员名称“_Default.ParaQueFalleCalidadCodigoDosIo_ReglaCA1709()”中的“Io”的大小写更改为“IO”来更正它。

现在,我可以在FxCopCmd.exe中使用相同的规则集文件CustomRules.ruleset

FxCopCmd.exe /gac /d:"C:\CompanyFramework\4.0.0.0" /f:"D:\TFS\Tests\WebApplication1\bin\WebApplication1.dll" /o:"resultsFxCop.xml" /ruleset:"= CustomRules.ruleset" /v

我收到2 个错误(FixCategory Breaking 和 Level Error)

CA1709 - 通过将成员名称“_Default.ParaQueFalleCalidadCodigoUnoIo_ReglaCA1709()”中的“Io”的大小写更改为“IO”来更正它。

CA1709 - 通过将成员名称“_Default.ParaQueFalleCalidadCodigoDosIo_ReglaCA1709()”中的“Io”的大小写更改为“IO”来更正它。

在 resultsFxcop.xml 中,我看到了 CA1709: IdentifiersShouldBeCasedCorrectly 规则:

CA1709 规则的消息级别:

两个问题:

  • 我收到错误但 CA1709 规则操作是警告
  • 使用 FxCopcmd.exe 忽略 SuppressMessage

现在,我修改CustomRules.ruleset并再次执行 FxCopcmd.exe

没有错误

我修改CustomRules.ruleset并再次执行 FxCopcmd.exe

我得到相同的2 个错误

我需要使用 FxCopCmd.exe 和自定义规则集。

  • SuppressMessage 是否适用于 FxCopcmd.exe?
  • 如果操作为警告,使用 Fxcopcmd.exe 为什么会出现错误?
  • CA1709 规则的 MessageLevel 错误是什么意思?比规则操作“警告”更优先?

有什么建议么?

更新

http://social.msdn.microsoft.com/Forums/en/vstscode/thread/3f8931da-9a4d-47a6-b331-8b6b07aea8d6

http://social.msdn.microsoft.com/forums/en-US/vstscode/thread/3cb6c50c-7095-4551-a4e3-a3cbc7cb85be

对于默认的 FxCop 规则,没有简单的方法可以修改消息级别,

MessageLevel是消息的重要性,例如,如果您有数千条消息,那么首先开始解决严重(感叹号)错误可能是个好主意。

确定性是规则编写者分配给每个规则的数字,它是消息导致代码更改的可能性。这个数字是根据领域专家和客户的反馈以及规则中使用的启发式方法能够避免误报的程度而建立的。

修复类别:这表明如果代码之前已发布,则对违规的修复是否是二进制重大更改。例如,您有一个拼写错误的库,您已经将其发送给客户。您现在开始在其上运行 FxCop 并查看拼写错误。FxCop 会告诉你这是一个突破性的变化。如果您修复拼写错误并向客户发送新版本的库,他们将无法使用该库而不更改和重新编译他们的代码。因此,您可能希望忽略此 API 上的 FxCop 违规。另一方面,如果您从未发货,则修复 FxCop 违规是完全可以的。

0 投票
1 回答
660 浏览

continuous-integration - FxCop - 如何解决 Windows,版本 255.255.255.255?

我试图让 FxCop 10 在 Windows 8 构建计算机上运行分析,并且似乎已经撞到了墙上。

当我使用 /verbose 针对 dll 运行它时,我得到:无法解析对 Windows 的引用。无法加载 [我的 dll 的路径]。读取模块 [我的模块名称] 时遇到以下错误:无法解析程序集引用:Windows,Version=255.255.255.255,Culture=neutral,PublicKeyToken=null

我让它指向 VS 2012 最低推荐规则,如果我设置 FxCopCmd.exe.config,它可以让它从 Visual Studio 运行代码分析:

这是我的命令行版本,它会产生上述错误:

fxcopcmd /file:"D:\Source\Project\bin\release\myproject.dll" /out:"D:\temp\fxcop-report.xml" /rs:="C:\Program Files (x86)\Microsoft Visual Studio 11.0\团队工具\静态分析工具\规则集\MinimumRecommendedRules.ruleset" /s /assemblyCompareMode:StrongNameIgnoringVersion /searchgac /verbose

如果我也尝试使用 FxCop 应用程序运行分析,则会收到 Windows 版本 255.255.255.255 的提示。

这是一个 Windows 8 Phone 项目。

0 投票
1 回答
841 浏览

fxcop - FxCop 初始化错误 CA0001

我正在尝试通过 Sonar-runner 运行 FxCopCmd 10.0。但是,即使 FxCop 生成分析报告,它也会返回错误。因为它返回一个错误,所以 sonar-runner 不会吞下报告。

为了隔离问题,我从提示符中运行了 FxCopCmd。

返回的控制台错误消息是:

  • FxCop 初始化期间发生错误:
  • 设置文件中的“规则”目录格式错误或不存在。

无论我运行 FxCop 10.0 还是 1.36,我都会遇到同样的错误。如果我使用 FxCop Gui 创建一个全新的空项目,然后打开它,Gui 会报告相同的错误消息,但会显示所有规则。

日志显示 FxCop 完成分析并输出 78 条消息。该报告包含 78 条消息。它似乎也找到了规律。

我不知道接下来要检查什么。

发出的命令

详细日志结束

FxCop 报告的部分内容(完整报告包含 78 条消息,如日志所示)

0 投票
2 回答
165 浏览

c# - FxCop CA1047 - 抽象和可访问性级别

我有这段代码(要复制的示例):

我不希望 XmlExport 可见(在我的类库中)也不继承(密封)。

使用 FxCop 10.0,我有一个CA1047:DoNotDeclareProtectedMembersInSealedTypes

名称: (FxCopCmd)
不要在密封类型中声明受保护的成员。

说明: (FxCopCmd)
密封类型无法扩展,受保护成员仅在您可以扩展声明类型时才有用。密封类型不应声明受保护的成员。

如何修复: (FxCopCmd)
将成员 'XmlExport.InnerExport(string, T)' 设为私有、公共或内部(Visual Basic 中的朋友)。

信息:(FxCop)
密封类型无法扩展,受保护成员仅在您可以扩展声明类型时才有用。密封类型不应声明受保护的成员。

但我不能将保护更改为私有:虚拟或抽象成员不能是私有的。也不公开(在这里没有意义)。

我知道我可以使用 a SuppressMessage,但我想知道是否有更好的方法(包括修改类)。

谢谢。

0 投票
2 回答
2035 浏览

msbuild - 如何将规则集文件转换为 FXCop 规则 dll?

我正在尝试在我的持续集成系统中配置静态代码分析(FxCop)。但是我的开发人员正在使用规则集文件与 Visual Studio 进行静态分析。

有没有办法让我可以重复使用相同的规则集文件并将其转换为 FxCop 规则集 dll 并在构建时执行静态代码分析?

在此先感谢,拉维