【问题标题】:How do i have a .csproj build a .proj file before building itself?我如何在构建自身之前让 .csproj 构建 .proj 文件?
【发布时间】:2015-06-12 23:25:45
【问题描述】:

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

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

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

然而,这给了我错误:

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

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

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

【问题讨论】:

    标签: c# msbuild


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-17
      • 1970-01-01
      相关资源
      最近更新 更多