使用 TeamCity 针对我旧的、粗糙的解决方案运行 Fxcop 会产生太多错误

发布于 2024-12-11 20:16:28 字数 117 浏览 0 评论 0原文

如何让 TeamCity 运行的 Fxcop 限制自身查看更少的规则?

我不想使用 .fxcop 项目,因为这意味着我需要策划在分析中使用哪些 .dll,而不是在 teamcity 构建步骤中使用通配符。

How can I have Fxcop run by TeamCity limit itself to looking at fewer rules?

I don't want to use a .fxcop project as that means I would need to curate which .dlls are used in analysis rather than a wildcard in the teamcity build step.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

笑梦风尘 2024-12-18 20:16:28

如果您确实想要完全禁用某些规则,您有三个基本选项:(

  1. 仅限 FxCop 10.0)您可以使用规则集,您应该能够使用 TeamCity 中的 fxcopcmd.exe 的附加命令行选项来指定该规则集。
  2. 您可以使用 /ruleid 命令行开关来指定要排除的规则。
  3. 您应该能够使用不包含目标的 .fxcop 项目文件以及命令行的目标程序集开关。 (鉴于 lodkin 的回应,如果您想使用 TeamCity 的通配符程序集列表,听起来您需要通过附加命令行选项指定 .fxcop 文件。)

如果您不想冒险引入新的违反这些规则的风险(其中过去显然被破坏得如此频繁),您可能需要考虑抑制旧的违规行为,而不是完全禁用规则。如果是这样,一种方法是将抑制添加到 .fxcop 项目文件(如上面#3 中使用),并附上注释,表明它们是“积压”或“遗留”违规。这可以通过 FxCop UI 中的一个步骤完成,并且允许您将这些抑制与源代码中通过 SuppressMessage 属性指示的“真实”抑制分开。

You have three basic options is you really want to disable some rules entirely:

  1. (FxCop 10.0 only) You could use a ruleset, which you should be able to specify using the additional command line options for fxcopcmd.exe in TeamCity.
  2. You could use the /ruleid command line switch to specify rules to exclude.
  3. You should be able to use a .fxcop project file that contains no targets along with a target assembly switch for the command line. (Given lodkin's response, it sounds like you would need to specify the .fxcop file via the additional command line options if you want to use TeamCity's wildcarded assembly list.)

If you don't want to risk introducing new violations of these rules (which have apparently been broken so frequently in the past), you may want to consider suppressing the old violations instead of disabling the rules entirely. If so, one approach would be to add the suppressions to an .fxcop project file (used as in #3 above) with a note that indicates that they are "backlog" or "legacy" violations. This can be done in a single step from the FxCop UI and would allow you to keep these suppressions separarate from the "real" suppressions indicated via SuppressMessage attributes in your source code.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文