如何在构建自身之前让 .csproj 构建 .proj 文件

本文关键字:构建 csproj proj 文件 | 更新日期: 2023-09-27 17:55:25

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

怎么能做到这一点。 我最初尝试添加项目引用,如下所示:

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

但是,这给了我错误:

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

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

我可以使用它来构建另一个文件吗?

如何在构建自身之前让 .csproj 构建 .proj 文件

使用MSBuild任务调用其他项目。例:

<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>