Copy FormulaCodeGeneratorTasks to a VS bin directory so VS doesn't lock the DLL's that are being built by the build.

This commit is contained in:
clovett 2016-10-05 20:47:06 -07:00
Родитель 02cdb24348
Коммит a7dd07057a
3 изменённых файлов: 25 добавлений и 7 удалений

Просмотреть файл

@ -4,7 +4,7 @@
<Is64BitBuild Condition="$(MSBuildBinPath.EndsWith('amd64'))">true</Is64BitBuild>
<FormulaCodeGeneratorBin>x86</FormulaCodeGeneratorBin>
<FormulaCodeGeneratorBin Condition="$(Is64BitBuild)">x64</FormulaCodeGeneratorBin>
<FormulaCodeGeneratorPath>$(MSBuildThisFileDirectory)\bin\$(FormulaCodeGeneratorBin)\FormulaCodeGeneratorTask.dll</FormulaCodeGeneratorPath>
<FormulaCodeGeneratorPath>$(MSBuildThisFileDirectory)\$(Configuration)\$(FormulaCodeGeneratorBin)\vs\FormulaCodeGeneratorTask.dll</FormulaCodeGeneratorPath>
</PropertyGroup>
<UsingTask TaskName="FormulaCodeGeneratorTask.FormulaCodeGeneratorTask" AssemblyFile="$(FormulaCodeGeneratorPath)"/>
<Target Name="BeforeBuild" Outputs="@(FormulaGenFiles->'%(FullPath).g.cs')">

Просмотреть файл

@ -14,7 +14,7 @@
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x86\</OutputPath>
<OutputPath>debug\x86\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x86</PlatformTarget>
@ -22,7 +22,7 @@
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
<OutputPath>bin\x86\</OutputPath>
<OutputPath>release\x86\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
@ -30,10 +30,9 @@
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x64\</OutputPath>
<OutputPath>debug\x64\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget>
@ -41,7 +40,7 @@
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
<OutputPath>bin\x64\</OutputPath>
<OutputPath>release\x64\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
@ -49,7 +48,6 @@
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup>
<Reference Include="Microsoft.Build.Framework" />
<Reference Include="Microsoft.Build.Utilities.v4.0" />
@ -73,6 +71,9 @@
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<PropertyGroup>
<PostBuildEvent>$(ProjectDir)SetupVsBinaries.cmd $(Configuration) $(Platform)</PostBuildEvent>
</PropertyGroup>
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">

Просмотреть файл

@ -0,0 +1,17 @@
set Configuration=%1
set Platform=%2
set SCRIPTDIR=%~dp0
set BINDIR=%SCRIPTDIR%\%Configuration%\%Platform%
set VSDIR=%SCRIPTDIR%\%Configuration%\%Platform%\Vs
if NOT exist "%BINDIR%" goto :nobits
if NOT exist "%VSDIR%" mkdir "%VSDIR%"
copy /Y "%BINDIR%" "%VSDIR%"
goto :eof
:nobits
echo That's odd there' snothing in your output dir: %BINDIR%
goto :eof