0
我想在VS解決方案中添加一些項目,但它不是.net。我想使用前期和後期構建來運行一些自定義命令,我可以停用此項目的構建,但仍然有前期和後期構建?我可以在Visual Studio解決方案中執行爲項目構建的前期和後期任務嗎?
我想在VS解決方案中添加一些項目,但它不是.net。我想使用前期和後期構建來運行一些自定義命令,我可以停用此項目的構建,但仍然有前期和後期構建?我可以在Visual Studio解決方案中執行爲項目構建的前期和後期任務嗎?
這可以通過命令行通過MSBuild通過指定您自己的自定義Target
而不是DLL或EXE來完成。但是,這會使Visual Studio中難以使用。
我能想到的最簡單的方法是在您的解決方案中創建一個單獨的項目,只需要輸入文件和源文件。您可以插入將與構建一起運行的自定義預構建和後構建事件,但構建本身會創建並清空輸出文件。您甚至可以將任務添加到構建後步驟以刪除空輸出。最小的.csproj文件可能如下所示:
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectGuid>{35E9C892-375D-4372-8A02-62E6D425A373}</ProjectGuid>
<OutputType>Library</OutputType>
<RootNamespace>CustomBuild</RootNamespace>
<AssemblyName>CustomBuild</AssemblyName>
</PropertyGroup>
<ItemGroup>
<None Include="customFile.txt" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<PropertyGroup>
<PreBuildEvent>type "$(ProjectDir)customFile.txt" > "$(TargetDir)intermediate.txt"</PreBuildEvent>
</PropertyGroup>
<PropertyGroup>
<PostBuildEvent>del "$(TargetPath)"
type "$(TargetDir)intermediate.txt" >> "$(TargetDir)output.txt"</PostBuildEvent>
</PropertyGroup>
</Project>