我如何让 .csproj 在构建自己之前构建 .proj 文件?
How do i have a .csproj build a .proj file before building itself?
我有一个 .csproj 文件和一个 .proj 文件。作为我的 .proj 文件的一部分,我正在生成一个文件以包含在 .csproj 中,因此 .proj 需要先 运行。
这怎么能做到。我最初尝试添加项目引用如下:
<ProjectReference Include="..\FileGenerator\FileGenerator.proj">
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
然而,这给了我错误:
错误 MSB4057:目标 "GetNativeManifest" 在项目中不存在
然后我注意到我的 csproj 文件中有一个 BeforeBuild 目标。
我可以用它来构建另一个文件吗?
使用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>
我有一个 .csproj 文件和一个 .proj 文件。作为我的 .proj 文件的一部分,我正在生成一个文件以包含在 .csproj 中,因此 .proj 需要先 运行。
这怎么能做到。我最初尝试添加项目引用如下:
<ProjectReference Include="..\FileGenerator\FileGenerator.proj">
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
然而,这给了我错误:
错误 MSB4057:目标 "GetNativeManifest" 在项目中不存在
然后我注意到我的 csproj 文件中有一个 BeforeBuild 目标。
我可以用它来构建另一个文件吗?
使用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>