【发布时间】: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 来运行构建。
- 未安装 Visual Studio。 (Download MSBuild without Visual Studio.)
好的,所以看起来 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