2010-12-22 53 views

回答

1

這可以通過命令行通過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" &gt; "$(TargetDir)intermediate.txt"</PreBuildEvent> 
    </PropertyGroup> 
    <PropertyGroup> 
    <PostBuildEvent>del "$(TargetPath)" 
type "$(TargetDir)intermediate.txt" &gt;&gt; "$(TargetDir)output.txt"</PostBuildEvent> 
    </PropertyGroup> 
</Project> 
相關問題