c# - Visual Studio Express for Desktop 2013 的代码分析规则集

标签 c# visual-studio code-analysis

我在哪里可以找到 Visual Studio Express for Desktop 2013 中用于代码分析的规则集?

据我了解,Visual Studio 的 Express 版本仅支持有限的规则集,但我找不到任何关于应用哪些规则的文档。

我猜它可能是 Managed Minimun Rules rule set for managed code ,但是 MSDN documentation不是明确的,只是说:

These rules are small in number and they are intended only to run in limited Visual Studio editions. Use MinimumRecommendedRules.ruleset with other Visual Studio editions.

最佳答案

Express 版好像不能编辑规则集,但是支持规则。 (至少对于 Visual Studio 2015 Express。)

我在社区版 中编辑了一些规则并将其保存到项目中。此后,这些规则甚至在 Express 中也得到应用。不幸的是,我也找不到任何描述。

如果你想给项目添加扩展规则,在项目文件中添加/更新一些行:

<RunCodeAnalysis>true</RunCodeAnalysis>
<CodeAnalysisRuleSet>MyProject.ruleset</CodeAnalysisRuleSet>

您的项目的所有配置;其中 MyProject 是项目名称。 (RunCodeAnalysis 行应该已经存在)

MyProject.ruleset 文件(示例)是:

<?xml version="1.0" encoding="utf-8"?>
<RuleSet Name="Rules for MyProject" Description="Code analysis rules for MyProject.csproj." ToolsVersion="14.0">
  <IncludeAll Action="Warning" />
  <Rules AnalyzerId="Microsoft.Analyzers.ManagedCodeAnalysis" RuleNamespace="Microsoft.Rules.Managed">
    <Rule Id="CA2210" Action="None" />
    <Rule Id="CA1824" Action="None" />
    <Rule Id="CA1300" Action="None" />
  </Rules>
</RuleSet>

此示例基于 AllRules.ruleset (如果我没记错的话)。上面的示例禁用了三个不应报告的规则。

可用的操作是:

  • None 禁用警告,
  • Info (在这个例子中似乎不起作用,可能与 include 操作类型有关),
  • 警告
  • 错误
  • 隐藏

编辑:

似乎并非所有方法 _(来自社区版)在速成版中都受支持。但至少它仍然比标准定义的规则集多。为了解决您最初的问题,规则集列表不可编辑,但您可以在 Visual Studio 目录 (c:\Program Files (x86)\Microsoft Visual Studio 12.0\团队工具\静态分析工具\规则集\ManagedMinimumRules.ruleset)

例如CA1303: Do not pass literals as localized parameters Express 版不支持/不报告。

关于c# - Visual Studio Express for Desktop 2013 的代码分析规则集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20030330/

相关文章:

c# - .csproj 文件中自动生成的 IntermediateOutputPath

c# - 源代码作为 C# 中的对象

c# - 我可以在 VS2010 的 VS2012 中使用静态分析吗?

c# - 使用 Func 委托(delegate)重载解决方法中的 lambda 的 Visual Studio 错误?

c# - C# .NET 位图的最大分辨率是多少?

c# - 使用 ASP.Net WebAPI 2 通过 http 传输原始字节

c# - 如果从隐藏窗口调用 ShowDialog() 会提前结束

c# - 如何获取包含日期的单元格的值并使用 NPOI 保留原始格式

code-coverage - SAP - 代码覆盖率分析器结果

c# - Visual Studio 2008 - 运行时卡住,当我尝试调试时显示 "unable to break execution"