在Build Server上构build不带Visual Studio的ASP.NET 4.5

自从我安装了一个Build Server之后,我已经有一段时间了,所以也许我已经忘记了一些东西,或许.NET 4.5与我上次做的任何版本都不一样,但这是我的问题。

我试图build立一个构build服务器来监视一个源代码控制库。 无论什么时候改变,我想让服务器去修改并build立项目。 如果没有错误,我想将网站部署到生成服务器上运行的网站。

在过去,当我这样做,我以为我能够做到这一点只有NET安装,但是当我尝试build立这个项目,我得到一个错误,“C:\ Program Files \ MSBuild \微软\ VisualStudio的\ V11 .0 \ WebApplications \ Microsoft.WebApplication.targets“缺less,如果我去看看,我可以看到它缺less。 实际上没有Visual Studio 11的目标文件。

经过了很多的思考和搔头,我走出去,得到了“Windows 8 / .NET 4.5 SDK”认为NET 4.5 SDK可能会安装我需要的目标文件,但它没有,除非我错误地安装它的错误。

那么,为了让项目构build起来,我需要在Build Server上放置什么。 我宁愿不必安装完整的Visual Studio 2012。

我的问题与在Windows 2008 Box上安装Windows 8Windows软件开发工具包(SDK)有关 。 如果您在页面上进一步阅读,则会看到标题为“Windows Vista和Windows Server 2008上的.NET Framework 4.5 SDK工具”的标题。 这告诉你:

  1. 在受支持的操作系统(例如Windows 7或Windows 8)上运行Windows SDK for Windows 8安装程序。
  2. 在“指定位置”屏幕上select以下选项:下载Windows SDK以在单独的计算机上进行安装。
  3. 按Nextbutton。
  4. 回答join客户体验改善计划(CEIP)屏幕上的问题。
  5. 在下一个屏幕上,select.NET Framework 4.5软件开发工具包function。 取消select可以取消select的所有其他function。
  6. select下载button。
  7. 转至下载位置(在步骤2中指定),并find以下.NET Framework 4.5 SDK工具安装程序文件:sdk_tools4.msi,sdk_tools4.cab
  8. 您可以将这些文件复制到组织内的Windows Vista或Windows 2008 Server计算机。 这些文件需要被复制到Windows Vista或Windows 2008 Server计算机上的同一目录中。 注意:请勿将这些文件重新分发到组织之外或作为其他安装程序的一部分。
  9. 在Windows Vista或Windows 2008 Server计算机上,请查看此处的许可条款。
  10. 检查计算机上是否已安装.NET Framework 4.5。 否则,请从www.microsoft.com下载并安装.NET Framework 4.5。
  11. 以pipe理员权限打开命令提示符。
  12. 转到.NET Framework 4.5 SDK Tools安装程序文件被复制的目录。
  13. 使用命令行安装.NET Framework 4.5 SDK工具:Msiexec / i sdk_tools4.msi VSEXTUI = 1

要在不使用Visual Studio的情况下在CI服务器上运行,只需将几个文件夹从开发机器复制到CI服务器上的相同位置即可。 没有必要安装SDK。

VS 2015:

  • C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v14.0 \ Web
  • C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v14.0 \ WebApplications

VS 2013:

  • C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v12.0 \ Web
  • C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v12.0 \ WebApplications

VS 2012:

  • C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v11.0 \ Web
  • C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v11.0 \ WebApplications

VS 2010:

  • C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v10.0 \ Web
  • C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v10.0 \ WebApplications

.NET 4.6:

  • C:\ Program Files(x86)\ Reference Assemblies \ Microsoft \ Framework \ .NETFramework \ v4.6

.NET 4.5.2:

  • C:\ Program Files(x86)\ Reference Assemblies \ Microsoft \ Framework \ .NETFramework \ v4.5.2

.NET 4.5.1:

  • C:\ Program Files(x86)\ Reference Assemblies \ Microsoft \ Framework \ .NETFramework \ v4.5.1

.NET 4.5:

  • C:\ Program Files(x86)\ Reference Assemblies \ Microsoft \ Framework \ .NETFramework \ v4.5

.NET 4.0.1:

  • C:\ Program Files(x86)\ Reference Assemblies \ Microsoft \ Framework \ .NETFramework \ v4.0.1

.NET 4.0:

  • C:\ Program Files(x86)\ Reference Assemblies \ Microsoft \ Framework \ .NETFramework \ v4.0

或者,正如Matt所build议的那样 ,您可以将它们复制到项目的子目录中,并更改MSBuild(通常为.csproj.vbproj )文件中的<MSBuildExtensionsPath32>位置。

一旦你完成了这个,你的项目将被编译。

您还应该将VisualStudioVersion环境variables明确地设置为Visual Studio版本(VS2010的10.0,VS2012的11.0,VS2013的12.0,VS2015的14.0),只是为了确保它在您的configuration中正确设置。

从msdn :

Windows SDK不再提供完整的命令行构build环境。 您必须分别安装编译器和生成环境。 如果您需要包含编译器和构build环境的完整开发环境,则可以下载Visual Studio 2012 Express,其中包含Windows SDK的相应组件。

为了解决这个问题,我不得不从我的开发机器(具有Visual Studio 2012的方式)将文件夹C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5复制到build立代理。 完成此操作后,Team City不会再报告任何错误,并且mscorlib.dll不会输出到bin文件夹。

在这种情况下, Microsoft Build Tools 2013将有助于下载页面的描述:

如果您的计算机上没有安装Visual Studio,则可以使用“构build工具2013”​​来构build托pipe的应用程序。 Visual Basic和C#编译器也包含在此下载中。 (在早期版本中,这些工具包含在独立的.NET Framework中。)

我的部门 喜欢采取简单的方法来安装我们的Win 7构build机器。 但是,由于潜在的registry键问题,我们不喜欢只复制和粘贴文件/文件夹。 我没有安装VS 2013,而是安装了以下更小和免费的组件。 现在开发团队可以成功构buildVS 2013networking应用程序。

我用Visual Studio代理解决了这个问题。

您可以尝试安装Visual Studio Agents 2012。

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