有什么方法可以为每个项目默认激活 Visual Studio 2012 的代码分析功能?并且,如果可能,默认情况下将规则设置为“Microsoft 所有规则”。
每次创建新项目时,我都必须在项目属性中手动激活“在构建时启用代码分析”,并且必须将规则设置为所有规则。有时我忘记这样做,不得不解决更多问题。如果它被默认激活,我可以阻止它。
有什么方法可以为每个项目默认激活 Visual Studio 2012 的代码分析功能?并且,如果可能,默认情况下将规则设置为“Microsoft 所有规则”。
每次创建新项目时,我都必须在项目属性中手动激活“在构建时启用代码分析”,并且必须将规则设置为所有规则。有时我忘记这样做,不得不解决更多问题。如果它被默认激活,我可以阻止它。
您可以编辑 Visual Studio 在创建新项目以添加通用导入时使用的默认项目模板,问题是在原型设计时您是否希望启用这些设置。
我倾向于确保每个项目都导入一组通用的 msbuild 属性和项目组。这在默认情况下不起作用,因为您必须编辑每个 proj 文件并添加导入,但优点是只需一行,您就可以在此导入的 proj 文件中放置更多的代码分析设置,例如 StyleCop设置、代码分析使用的字典文化、您自己的规则集文件、常见的 AssemblyInfo.cs、snk 文件等
我倾向于将以下行放在 .csproj 中的最后一行之前
<Import Project="..\Build\MyCompanySettings.proj" />
然后在导入的文件中是这样的。这样,任何项目都具有相同的设置。
<?xml version="1.0" encoding="utf-8" ?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<RunStyleCop>true</RunStyleCop>
<StyleCopOverrideSettingsFile>..\Build\Settings.StyleCop</StyleCopOverrideSettingsFile>
<RunCodeAnalysis>true</RunCodeAnalysis>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>..\Build\MyCompany.snk</AssemblyOriginatorKeyFile>
<CodeAnalysisRuleSet>..\Build\MyCompany.ruleset</CodeAnalysisRuleSet>
<StyleCopTreatErrorsAsWarnings>false</StyleCopTreatErrorsAsWarnings>
<SkipPostSharp>True</SkipPostSharp>
<CodeAnalysisCulture>en-GB</CodeAnalysisCulture>
</PropertyGroup>
<ItemGroup>
<None Include="..\Build\MyCompany.snk">
<Link>MyCompany.snk</Link>
</None>
<CodeAnalysisDictionary Include="$(BuildTargetsDirectory)\MyCompanyCustomDictionary.xml">
<Link>Properties\MyCompanyCustomDictionary.xml</Link>
</CodeAnalysisDictionary>
<Compile Include="..\Build\VersionInfo.cs" >
<Link>Properties\VersionInfo.cs</Link>
</Compile>
<None Include="..\Build\MyCompany.ruleset" >
<Link>MyCompany.ruleset</Link>
</None>
</ItemGroup>
<Import Project="$(MSBuildProgramFiles32)\MSBuild\StyleCop\v4.7\StyleCop.targets" Condition="'$(RunStyleCop)' == 'true'"/>
</Project>