Visual Studio Express for Desktop 2013 的代码分析规则集
Posted
技术标签:
【中文标题】Visual Studio Express for Desktop 2013 的代码分析规则集【英文标题】:Code Analysis Ruleset for Visual Studio Express for Desktop 2013 【发布时间】:2013-11-17 11:51:33 【问题描述】:在哪里可以找到 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 版本。
【问题讨论】:
【参考方案1】: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
编辑:
Express Edition 似乎并不支持所有方法_(来自社区版)。但至少它仍然超出了标准定义的规则集。为了解决您最初的问题,规则集列表不可编辑,但您可以在 Visual Studio 目录中唯一的文件 *.ruleset 文件中找到它(c:\Program Files (x86)\Microsoft Visual Studio 12.0\Team Tools\Static Analysis Tools\Rule Sets\ManagedMinimumRules.ruleset
)
例如速成版不支持/报告CA1303: Do not pass literals as localized parameters。
【讨论】:
【参考方案2】:ManagedMinimumRules.ruleset 可以更改。
禁用只读文件属性,使用管理员模式启动文本编辑器并保存 然后再次运行代码分析(无需关闭VS)
不支持 Action.Info 和 Hidden
【讨论】:
感谢您的回复,但您能否解释一下步骤或/并添加有关如何执行的视觉帮助?以上是关于Visual Studio Express for Desktop 2013 的代码分析规则集的主要内容,如果未能解决你的问题,请参考以下文章
Visual Studio 2015 Express for Desktop 是不是支持 JIT 调试?
Visual Studio Express 2012 for Web TypeScript EcmaScript 版本
在 Visual Studio Express 2013 for Web 中附加到进程
Microsoft Visual Studio 2010 Express for Windows Phone 64位下载
Visual Studio 2015 Express for Web 是不是支持 SQL Server Compact?