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

  • 本文关键字:构建 csproj proj 文件 c# msbuild
  • 更新时间 :
  • 英文 :


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

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

<ProjectReference Include="..FileGeneratorFileGenerator.proj">
  <ReferenceOutputAssembly>false</ReferenceOutputAssembly> 
</ProjectReference>

但是,这给了我错误:

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

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

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

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

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

如果需要将任何清理作为常见Clean目标的一部分进行,则可以插入自定义清理目标,如下所示:

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

最新更新