【问题标题】:May I use MSBuild / Build Tools for Visual Studio to compile projects from command line, without Visual Studio?我可以在没有 Visual Studio 的情况下使用 MSBuild / Visual Studio 构建工具从命令行编译项目吗?
【发布时间】:2020-04-11 19:29:13
【问题描述】:

来自MSBuild documentation on docs.microsoft.com

Microsoft Build Engine 是一个用于构建应用程序的平台。该引擎也称为 MSBuild,它为项目文件提供 XML 架构,用于控制构建平台如何处理和构建软件。 Visual Studio 使用 MSBuild,但 MSBuild 不依赖于 Visual Studio。通过在您的项目或解决方案文件上调用 msbuild.exe,您可以在未安装 Visual Studio 的环境中编排和构建产品。'

(...)

以下示例说明了何时可以通过从命令行而不是 Visual Studio IDE 调用 MSBuild 来运行构建。

好的,所以看起来 MS 希望人们能够单独使用 MSBuild 构建项目,而无需完整的 VisualStudio IDE。

但是,当我从链接到的文档页面下载 MSBuild 时,安装程​​序希望我接受 these license terms,其中指出:

您可以安装和使用该软件的任意数量的副本,仅与 Visual Studio Community、Visual Studio Professional 和 Visual Studio Enterprise 一起使用,以开发和测试您的应用程序。

???似乎许可证明确禁止我做文档页面描述的事情!我不能单独使用 MSBuild - 我只能将它与 VisualStudio 一起使用。所以,我想,我只能编译一个项目,如果我用 VisualStudio 打开它并在我单击 VisualStudio GUI 中的绿色箭头后让 VisualStudio 调用 MSBuild??

我读错了许可证吗?因为这似乎与微软似乎打算允许其客户的做法相反!

【问题讨论】:

  • 你只需要一个 VS 许可证,你就可以使用构建工具了。
  • msbuild 刚刚与 vs 一起提供,如果您已经拥有有效的 vs 许可证,您肯定可以使用 msbuild 工具。毕竟你有执照。
  • 当您使用 Microsoft 提供的某些东西(安装程序)时,您可能会遇到此类许可协议。 MSBuild 确实是开源的,但您需要从源代码编译它,然后不受任何许可协议的约束。一个例子是 JetBrains 有自己的 MSBuild 发行版,blog.jetbrains.com/dotnet/2018/04/13/…
  • @PerryQian-MSFT 不知道该告诉你什么 :) 你的回答回答了我的问题(投票+接受)但没有解决我的问题,可能是由于我的 XY 问题。我的问题是我怀疑我是否有权使用 VS 2019 社区来完成我现在正在执行的任务,但客户希望代码在 .Net Framework 而不是 .Net 代码下编译(我在写完之后才知道这一点VS Code 中的代码)。由于实际原因,我无法及时购买 VS Professional 许可证(需要让银行给我卡,时间太长)。

标签: .net visual-studio msbuild visual-studio-2019


【解决方案1】:

我读错了许可证吗?因为这似乎与什么相反 微软似乎打算让其客户!

我认为您不必为此担心太多。这意味着Build Tool可以与Visual Studio Community、Professional等一起工作--------您可以使用这个单独的构建工具来构建由VS IDE创建的项目。

另外,这是使用规则之一,只要您满足其中一项许可,就可以直接使用构建工具。同样一般情况下,如果您有使用VS IDE(Community、Professional、Enterprise)的许可,您可以满足许可并直接使用构建工具。

我相信以下规则可以满足你。实际上,Build Tool 是一个编译工具。相比VS IDE,没有那么多苛刻的要求。基本上,用户可以满足其中列出的规则。

要使用它,安装完成后打开就可以了,简直就是单独安装developer command prompt for VS2019。然后输入命令行来构建你的项目。

希望对你有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-20
    相关资源
    最近更新 更多