在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 8的Windows软件开发工具包(SDK)有关 。 如果您在页面上进一步阅读,则会看到标题为“Windows Vista和Windows Server 2008上的.NET Framework 4.5 SDK工具”的标题。 这告诉你:
- 在受支持的操作系统(例如Windows 7或Windows 8)上运行Windows SDK for Windows 8安装程序。
- 在“指定位置”屏幕上select以下选项:下载Windows SDK以在单独的计算机上进行安装。
- 按Nextbutton。
- 回答join客户体验改善计划(CEIP)屏幕上的问题。
- 在下一个屏幕上,select.NET Framework 4.5软件开发工具包function。 取消select可以取消select的所有其他function。
- select下载button。
- 转至下载位置(在步骤2中指定),并find以下.NET Framework 4.5 SDK工具安装程序文件:sdk_tools4.msi,sdk_tools4.cab
- 您可以将这些文件复制到组织内的Windows Vista或Windows 2008 Server计算机。 这些文件需要被复制到Windows Vista或Windows 2008 Server计算机上的同一目录中。 注意:请勿将这些文件重新分发到组织之外或作为其他安装程序的一部分。
- 在Windows Vista或Windows 2008 Server计算机上,请查看此处的许可条款。
- 检查计算机上是否已安装.NET Framework 4.5。 否则,请从www.microsoft.com下载并安装.NET Framework 4.5。
- 以pipe理员权限打开命令提示符。
- 转到.NET Framework 4.5 SDK Tools安装程序文件被复制的目录。
- 使用命令行安装.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应用程序。
- .Net Framework v4.5.1,需要安装工具 – http://www.microsoft.com/en-us/download/details.aspx?id=40779
- MS Build Tools 2013,我们需要C#编译器 – http://blogs.msdn.com/b/visualstudio/archive/2013/07/24/msbuild-is-now-part-of-visual-studio.aspx
- MS VS 2013孤立的壳,我们需要的Web应用程序的目标 – http://www.microsoft.com/en-us/download/details.aspx?id=40764 。
我用Visual Studio代理解决了这个问题。
您可以尝试安装Visual Studio Agents 2012。
http://www.microsoft.com/en-us/download/details.aspx?id=38186