.net 默认情况下,为Visual Studio 2012中的每个项目激活代码分析

.net 默认情况下,为Visual Studio 2012中的每个项目激活代码分析,.net,visual-studio-2012,default,code-analysis,.net,Visual Studio 2012,Default,Code Analysis,是否有任何方法可以在默认情况下为每个项目激活Visual Studio 2012的代码分析功能?并且,如果可能,可以将规则默认设置为“Microsoft所有规则” 每次创建新项目时,我都必须在项目属性中手动激活“在生成时启用代码分析”,并且必须将规则设置为所有规则。 有时候我忘了做那件事,不得不解决更多的问题。如果默认情况下激活了,我本来可以阻止它。您可以编辑Visual Studio在创建新项目以添加公共导入时使用的默认项目模板,问题是在进行原型设计时是否要启用这些设置 我倾向于确保每个项目都

是否有任何方法可以在默认情况下为每个项目激活Visual Studio 2012的代码分析功能?并且,如果可能,可以将规则默认设置为“Microsoft所有规则”

每次创建新项目时,我都必须在项目属性中手动激活“在生成时启用代码分析”,并且必须将规则设置为所有规则。
有时候我忘了做那件事,不得不解决更多的问题。如果默认情况下激活了,我本来可以阻止它。

您可以编辑Visual Studio在创建新项目以添加公共导入时使用的默认项目模板,问题是在进行原型设计时是否要启用这些设置

我倾向于确保每个项目都导入一组公共的msbuild属性和项组。默认情况下,这不起作用,因为您必须编辑每个项目文件并添加导入,但优点是,只需一行代码,您就可以在导入的项目文件中放置远远超过代码分析设置的内容,例如,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>

真的
..\Build\Settings.StyleCop
真的
真的
真的
..\Build\MyCompany.snk
..\Build\MyCompany.ruleset
假的
真的
欧洲标准
MyCompany.snk
属性\MyCompanyCustomDictionary.xml
属性\VersionInfo.cs
MyCompany.ruleset

非常感谢。我喜欢你这样设置公共选项的方法。