MSbuild是否需要将Visual Studio安装在构build服务器上?

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

目前,我们有一个构build服务器,我们正在编译和创build一个项目的部署副本,它安装了Visual Studio Professional Edition。 我们现在正在build立一个新的构build服务器。 我们是否真的需要新的构build服务器上的Visual Studio 2012?

如果是,那么如何? 我GOOGLE了,但我找不到答案。

不,你不需要在你的构build箱上使用Visual Studio。 如果我记得正确的话,msbuild被安装为.NET框架的一部分 – 它肯定是过去的。

根据你正在构build的东西,你可能会发现,如果你安装了Visual Studio, 有些东西更容易工作,比如可移植的类库configuration文件。 虽然通常有非VS安装程序可用,但是我发现安装Express版本的Visual Studio只是为了获得捆绑的构build目标更简单。

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

我们已经看到很多项目解决scheme的例子,这些项目包含了同一部分软件的参考文献,其中有一些与解决scheme一起提供的nuget软件包,还有一些是指向“程序文件”path中不存在于没有Visual Studio的机器上的位置安装。 一旦你试图build立没有安装VS的软件,你可以真正看到你的应用程序是如何“独立”的。

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

大多数版本需要安装以下软件,如果您正在创build可移植类库,则可能有其他软件。

  1. 微软构build工具2013
  2. Web Deploy 3.5 (用于打包应用程序)
  3. Microsoft .NET Framework 4.5.1开发人员包
  4. Microsoft .NET Framework 4.5.2开发包
  5. 用于Windows 8的Windows软件开发工具包(SDK) (您可以使用SDK构build以这些操作系统为目标的应用程序: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工具集3.8

我有一个类似的testing集,但是这不是问题的一部分,所以我会离开它!

希望这有助于某人。

更新:2017年3月3日

微软最近回应了一个长期的用户语音请求“ 支持.NET生成,而不需要在服务器上的Visual Studio ”的Visual Studio需要安装在生成服务器上的要求被删除。

从下载页面上的描述“这些构build工具允许您构build本地和托pipe的基于MSBuild的应用程序,而不需要Visual Studio IDE”。 还没有testing,但RTM后,我会看看这个,并在这里提供进一步的更新。

有一个博客文章 ,承诺这些构build工具安装所有先决条件,可用于构build基于MS构build的应用程序。

请记住:构buildVisual Studio解决scheme的最简单方法是在构build服务器上安装Visual Studio。 即使Visual Studio Express也足够了。

也就是说,你可以在没有它的情况下工作。 但是有时候我们需要做很多工作。 您将需要安装正确的Windows / .NET平台SDK 。 您可以并排安装多个这些SDK。 现在,当你依赖于SP.NET MVC 5或Entity Framework 6时 ,你可能需要安装更多的SDK来让你的应用程序编译。 这些下载都假设你也安装了Visual Studio,但是它们的许多负载也可以单独安装。 这可能会变得相当麻烦。

就我个人而言,我已经厌倦了试图找出哪些安装程序启用了哪些部分。 但是,这也是由于Microsoft允许您在构build服务器(TFS)上安装具有与开发计算机相同许可证的Visual Studio,只要您是MSDN订阅者即可。 查看Visual Studio许可证白皮书以获取更多详细信息 。

在生成服务器上使用Visual Studio

如果您拥有一个或多个MSDN的Visual Studio Ultimate,MSDN的Visual Studio Premium或MSDN的Visual Studio Professional的一个或多个授权用户,则还可以将Visual Studio软件安装为Team Foundation Server 2013构build服务的一部分。 通过这种方式,您无需购买Visual Studio许可证即可覆盖构build服务器上运行Visual Studio的人员,这些人员的操作将启动构build。

如果你和我一样,希望将来能够改变这种情况,那么我build议你通过提交你的请求或者在Visual Studio User Voice上投票select一个现有的请求来确保你听到了。

这只是一个快速采取这一点。

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

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

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

其他.net依赖将需要安装,如果你正在使用它们。 MSTest或任何属于Team Foundation的东西都需要安装Visual Studio。

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

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

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

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

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

祝你好运。

C ++:

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

从官方文档:

这些工具允许您构build针对Windows桌面的C ++库和应用程序。 它们是您在Visual Studio 2015中以脚本化的独立安装程序find的相同工具。 现在只需要下载构buildC ++项目所需的工具。

pipe理 :

同样适用: 构build工具托pipe