MSbuild是否要求在构建服务器上安装Visual Studio?

问题描述 投票:53回答:7

我们可以在没有Visual Studio 2012的情况下使用MSBuild吗?

目前,我们有一个构建服务器,我们正在编译和创建其中一个项目的部署副本,它已安装Visual Studio Professional Edition。我们现在正在建立一个新的构建服务器。我们真的需要在新的构建服务器上使用Visual Studio 2012吗?

如果是,那怎么样?我用谷歌搜索,但我找不到答案。

visual-studio-2010 visual-studio-2012 build msbuild nant
7个回答
37
投票

不,您的构建框不需要Visual Studio。如果我没记错的话,msbuild是作为.NET框架的一部分安装的 - 它当然是。

根据您正在构建的内容,您可能会发现,如果您确实安装了Visual Studio,那么有些内容会更容易实现 - 比如便携式类库配置文件。虽然通常有非VS安装程序可用,但我发现安装Visual Studio的Express edition只是为了获得捆绑的构建目标更简单。


56
投票

我们花了很多时间试图让Build Server在没有Visual Studio的情况下工作。我们不使用TFS进行构建,因此我不确定上述许可证豁免适用于我们。也没有安装Visual Studio可以帮助您真正了解您的软件如何构建并获得正确的引用。

我们已经看到许多解决方案的示例,其中包含对同一软件的引用,其中一些在解决方案附带的nuget包中,另一些指向“程序文件”路径中的位置,这些位置在没有Visual Studio的机器上不存在安装。一旦你尝试在没有安装VS的情况下构建软件,你就可以真正看到你的应用程序是如何“自包含”的。

在我开始列出您通常需要安装的内容之前,我要指出MS Build现在不再被认为是.NET框架的一部分,但是它随Visual Studio一起提供,但也可以单独安装。有关更多信息,请参阅此博客文章:http://blogs.msdn.com/b/visualstudio/archive/2013/07/24/msbuild-is-now-part-of-visual-studio.aspx

需要为大多数构建安装以下软件,例如,如果要创建可移植类库,可能还有其他软件。

  1. Microsoft Build Tools 2013
  2. Web Deploy 3.5(用于包装应用)
  3. Microsoft .NET Framework 4.5.1 Developer Pack
  4. Microsoft .NET Framework 4.5.2 Developer Pack
  5. Windows Software Development Kit (SDK) for Windows 8(您可以使用SDK构建面向这些操作系统的应用程序:Windows 8,Windows 7,Windows Vista,Windows Server 2012,Windows Server 2008 R2,Windows Server 2008)

需要复制以下目录:

  1. 参考程序集(需要从运行Visual Studio的计算机从/到目录C:\ Program Files(x86)\ Reference Assemblies复制)
  2. 公共程序集(需要从运行Visual Studio的计算机从/到目录C:\ Program Files(x86)\ Microsoft Visual Studio 12.0 \ Common7 \ IDE \ PublicAssemblies复制

我们也使用Wix,因此我们安装以下内容:

  1. WIX Toolset 3.8

我有一个类似的测试集,但这不是问题的一部分所以我会把它关掉!

希望这有助于某人。

更新:2017年3月3日

微软最近回应了长期用户语音请求“Support .NET Builds without requiring Visual Studio on the server”,要求将Visual Studio安装在要删除的构建服务器上。

download page上的描述“这些构建工具允许您构建本机和托管的基于MSBuild的应用程序,而无需Visual Studio IDE。”尚未测试但在RTM之后我将查看此内容并在此处提供进一步的更新。

有一个blog post承诺这些构建工具安装所有先决条件,并可用于构建基于MS Build的应用程序。


15
投票

请记住:构建Visual Studio解决方案的最简单方法是在构建服务器上安装Visual Studio。甚至Visual Studio Express也足够了。

也就是说,没有它你可以让它工作。但有时需要做很多工作才能搞清楚。你需要安装正确的Windows / .NET Platform SDK。您可以并排安装多个这些SDK。现在,当您依赖ASP.NET MVC 5Entity Framework 6时,您可能需要安装更多SDK才能使您的应用程序进行编译。这些的下载都假设您还安装了Visual Studio,但是它们的许多有效负载也可以单独安装。它可能会变得非常麻烦。

就个人而言,我已经厌倦了试图弄清楚哪些安装程序能够实现哪些功能。但这也是由于Microsoft允许您使用与开发计算机相同的许可证在构建服务器(TFS)上安装Visual Studio,只要您是MSDN订阅者即可。 Check the Visual Studio License Whitepaper for more details

在构建服务器上使用Visual Studio

如果您拥有一个或多个带有MSDN的Visual Studio Ultimate,带有MSDN的Visual Studio Premium或带有MSDN的Visual Studio Professional的许可用户,那么您还可以将Visual Studio软件安装为Team Foundation Server 2013 Build Services的一部分。这样,您无需购买Visual Studio许可证即可在构建服务器上为其操作启动构建的每个人运行Visual Studio。

如果您和我一样,希望将来更改,我建议您确保通过提交您的请求或在Visual Studio User Voice投票选出现有的请求来表达您的意见。


5
投票

这只是对此的快速了解。

您的构建机器应尽可能地分离开发工具。有了这些,并且正如其他人已经说过的那样,MSBuild可以独立于Visual Studio运行,它应该!

如果您的构建需要运行Visual Studio,那么您很可能遇到应该解决的解决方案或项目架构问题。


0
投票

不需要安装Visual Studio。 MSBuild是.net SDK的一部分。

如果您正在使用它们,则需要安装其他.net依赖项。 MSTest或Team Foundation的任何内容都需要安装Visual Studio。


0
投票

我相信你只需要MSBuild(这是你所针对的.NET框架的一部分)。

确保安装正确的.NET发行版

以下是构建服务器的好地方,它有开发人员工具。

.NET Framework 4.5.1 Developer Pack安装.NET Framework 4.5.1的多目标包。开发人员可以使用Visual Studio 2012或第三方IDE构建面向.NET Framework 4.5.1的应用程序。如果要重新分发.NET Framework 4.5.1,则需要下载Web安装程序而不是此软件包。

http://www.microsoft.com/en-us/download/details.aspx?id=40772

祝你好运。


0
投票

C ++:

有一个包含MSBuild的“Build Tools”,不需要Visual Studio。

来自官方文件:

这些工具允许您构建面向Windows桌面的C ++库和应用程序。它们与您在可编写脚本的独立安装程序中在Visual Studio 2015中找到的工具相同。现在您只需要下载构建C ++项目所需的工具。

管理 :

同样适用:Build Tool Managed

© www.soinside.com 2019 - 2024. All rights reserved.