2015-06-12 67 views
1

我有一個.csproj文件和一個.proj文件。作爲我的.proj文件的一部分,我正在生成一個包含在.csproj中的文件,因此.proj需要先運行。在構建自己之前,我如何使用.csproj構建.proj文件?

如何才能做到這一點。我本來試圖添加項目引用如下:

<ProjectReference Include="..\FileGenerator\FileGenerator.proj"> 
    <ReferenceOutputAssembly>false</ReferenceOutputAssembly> 
</ProjectReference> 

然而,這給我的錯誤:

錯誤MSB4057:目標「GetNativeManifest」項目不存在

這時我才發現在我的csproj文件中有一個BeforeBuild目標。

我可以用它來建立其他文件嗎?

回答

2

使用MSBuild task來調用其他項目。例如:

<Target Name="BeforeBuild"> 
    <MSBuild Projects="..\FileGenerator\FileGenerator.proj" Targets="Build" /> 
</Target> 

如果你需要完成的共同目標Clean部分的清理工作,你可以自定義清理對象的插件是這樣的:

<Target Name="FileGeneratorClean" BeforeTargets="Clean"> 
    <MSBuild Projects="..\FileGenerator\FileGenerator.proj" Targets="Clean" /> 
</Target>