12
I am creating an MSBuild file to combine some tasks of the things I need to do on my build server into one step. Part of this process requires running code analysis. My problem is that I have running code analysis for multiple top level projects but they each have the same dependencies on other projects like our Utility Library. This means that each run of code analysis duplicates a code analysis run of the Utility Library. Here is my MSBuild file:
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Build" ToolsVersion="4.0">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Dev</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<RunCodeAnalysis>true</RunCodeAnalysis>
<CodeAnalysisTargets>C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\CodeAnalysis\Microsoft.CodeAnalysis.targets</CodeAnalysisTargets>
<CodeAnalysisTreatWarningsAsErrors>true</CodeAnalysisTreatWarningsAsErrors>
<StyleCopTreatErrorsAsWarnings>false</StyleCopTreatErrorsAsWarnings>
<DefineConstants>TRACE;DEBUG;CODE_ANALYSIS</DefineConstants>
<BuildInParallel>true</BuildInParallel>
<WebProjectTargets>Clean;Build;Package</WebProjectTargets>
<OtherProjectTargets>Clean;Build</OtherProjectTargets>
<GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
</PropertyGroup>
<Target Name="Build">
<!-- Web Projects -->
<MSBuild
Projects="$(MSBuildProjectDirectory)\Source\WebProjects\WebApp1\WebApp1.csproj"
Properties="
Configuration=$(Configuration);
PackageLocation=$(MSBuildProjectDirectory)\Packages\WebApp1.zip;
RunCodeAnalysis=$(RunCodeAnalysi