在构建自己之前,如何让.csproj构建.proj文件?

时间:2015-06-12 02:02:37

标签: c# msbuild

我有一个.csproj文件和一个.proj文件。作为我的.proj文件的一部分,我正在生成一个包含在.csproj中的文件,因此.proj需要先运行。

如何做到这一点。我最初尝试添加项目引用如下:

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

然而,这给了我错误:

错误MSB4057:项目中不存在目标“GetNativeManifest”

然后我注意到我的csproj文件中有一个BeforeBuild目标。

我可以使用它来构建其他文件吗?

1 个答案:

答案 0 :(得分: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>