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

时间:2013-11-17 11:51:34

标签: c# visual-studio code-analysis

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

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

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

  

这些规则数量很少,只能用于运行   有限的Visual Studio版本。使用MinimumRecommendedRules.ruleset   与其他Visual Studio版本一起使用。

2 个答案:

答案 0 :(得分:0)

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操作类型有关)
  • Warning
  • Error
  • Hidden

修改

似乎并非所有方法_(来自Community Edition)都在Express Edition中受支持。但至少它仍然不仅仅是标准定义的规则集。要解决原始问题,规则集列表不可编辑,但您可以在Visual Studio目录中唯一的文件* .ruleset文件中找到它c:\Program Files (x86)\Microsoft Visual Studio 12.0\Team Tools\Static Analysis Tools\Rule Sets\ManagedMinimumRules.ruleset

e.g。在Express版本中不支持/报告CA1303: Do not pass literals as localized parameters

答案 1 :(得分:0)

ManagedMinimumRules.ruleset 可以更改。

禁用只读文件属性,使用管理员模式启动文本编辑器并保存 然后再次运行代码分析(不需要关闭VS)

不支持 Action.Info 和 Hidden