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

use*_*441 56 msbuild nant build visual-studio-2010 visual-studio-2012

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

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

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

Car*_*rlR 58

我们花了很多时间试图让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开发人员包
  4. Microsoft .NET Framework 4.5.2开发人员包
  5. 适用于Windows 8的Windows软件开发工具包(SDK)(您可以使用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工具集3.8

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

希望这有助于某人.

更新:2017年3月3日

微软最近回应了长期用户语音请求" 支持.NET构建而不需要服务器上的Visual Studio ",因为要求将Visual Studio安装在要删除的构建服务器上.

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

有一篇博客文章承诺这些构建工具安装所有先决条件,并可用于构建基于MS Build的应用程序.

  • 你用什么测试? (2认同)
  • 另一种尝试:http://nickberardi.com/a-net-build-server-without-visual-studio/ (2认同)
  • 对于那些需要较新版本的用户,Microsoft Build Tools 2015位于:https://www.microsoft.com/en-in/download/details.aspx?id = 48159 (2认同)

Jon*_*eet 38

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

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

  • MSBuild 12位于[独立软件包]中(http://www.microsoft.com/en-us/download/details.aspx?id=40760).考虑到MSTest等只与Visual Studio一起安装,如果没有Visual Studio,很难说一切都可以用原始MSBuild完成.遗憾的是,这些额外的位并不总是在VS Express中. (5认同)
  • 新的[Visual Studio 2017 RC的构建工具](https://www.visualstudio.com/downloads/#build-tools-for-visual-studio-2017-rc)减少了安装Visual Studio的要求. (4认同)
  • @LexLi:如果那是你的测试框架,那么MSTest只会成为一个问题.很多人使用NUnit,xUnit等.它确实取决于"等等"是什么,以及OP的构建是否需要它. (2认同)

jes*_*ing 16

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

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

就个人而言,我已经厌倦了试图弄清楚哪些安装程序能够实现哪些功能.但这也是由于Microsoft允许您使用与开发计算机相同的许可证在构建服务器(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 Services的一部分.这样,您无需购买Visual Studio许可证即可在构建服务器上为其操作启动构建的每个人运行Visual Studio.

如果您和我一样希望将来更改,我建议您通过在Visual Studio用户语音中提交您的请求或投票给现有的请求来确保您能够听到.

  • 那就是说.需要在构建服务器上安装IDE才能使工作正常.有些事情在这里错了. (3认同)

小智 6

这只是对此的快速了解.

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

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