新しいプロジェクトを作成して共通のインポートを追加するときに Visual Studio が使用する既定のプロジェクト テンプレートを編集できます。
私は、すべてのプロジェクトが共通の msbuild プロパティとアイテム グループのセットをインポートするようにする傾向があります。これは、各 proj ファイルを編集してインポートを追加する必要があるため、デフォルトでは機能しませんが、1 行だけで、このインポートされた 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>