【问题标题】:Does Visual Studio (MSBuild) resolve from the solution or project directory?Visual Studio (MSBuild) 是否从解决方案或项目目录解析?
【发布时间】:2017-04-13 15:13:32
【问题描述】:

使用相对路径包含 BeforeBuild MSBuild 任务以确保首先构建依赖项。

我们的文件夹结构是解决方案文件夹 --> 解决方案 --> 项目文件夹 --> 项目。

MSBuild 是从解决方案文件夹还是项目文件夹开始解析?

谢谢!

【问题讨论】:

  • 对 MSBuild 而言,VS 解决方案只是一个容器 - 依赖项完全由项目引用解决,因此您的文件夹结构并不重要。您可以从不同的解决方案文件夹中引用项目,MSBuild 仍然能够找出构建顺序。您可能想解释为什么需要专门的任务来构建依赖项。 (我没有DV,只是为了记录)
  • 我们的依赖项分布在多个解决方案中。具有 56 个不同组件的巨大古代应用程序。我们尝试使用 NuGet 进行依赖管理,但遇到了开发人员没有注意他们提取的包是否属于其特定分支的问题。当前的程序是分别手动构建所有这些解决方案 - 尝试通过 MSBuild 任务更好地将它们捆绑在一起。
  • 这会清除图片并准备回答者建议将 NuGet 作为一个简单的解决方案。

标签: visual-studio msbuild project solution resolve


【解决方案1】:

这取决于文件路径的上下文。如有疑问,您可以使用$(MSBuildProjectDirectory)$(MSBuildThisFileDirectory) 来确保您拥有正确的位置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-02
    • 1970-01-01
    • 2015-06-25
    相关资源
    最近更新 更多