TFS 2012 Microsoft.WebApplication.targets

Tre*_*rev 2 tfs2012

环境:在Windows Server 2012 VM上运行的TFS 2012构建代理..Net 4.0/.Net 4.5已安装.Windows SDK(http://msdn.microsoft.com/en-us/library/ms717422.aspx)也已安装.

问题:构建代理无法构建使用VS 2012开发的.net 4.0 Web应用程序.

构建失败,因为它无法解析Web目标:

错误未找到导入的项目"C:\ Program Files(x86)\ MSBuild\Microsoft\VisualStudio\v11.0\WebApplications\Microsoft.WebApplication.targets".确认声明中的路径是否正确,以及该文件是否存在于磁盘上.

然后是其他警告:找不到框架".NETFramework,Version = v4.0"的引用程序集.要解决此问题,请为此框架版本安装SDK或Targeting Pack,或者将应用程序重新定位到已安装SDK或Targeting Pack的框架版本.请注意,程序集将从全局程序集缓存(GAC)中解析,并将用于代替引用程序集.因此,您的程序集可能无法正确定位到您想要的框架.

我在这里搜索了.NET 4.0目标包:

http://msdn.microsoft.com/en-US/hh487283.aspx

但Windows Server 2012未列为受支持的平台.

IT基础架构团队并不热衷于在每个构建代理VM上安装VS以获取目标包.

有没有人对我如何解决这个问题有任何想法?

gre*_*kes 5

放弃

我意识到我在下面提到的解决方案被很多开发人员所厌恶,但根据我的经验,它是迄今为止最简单,最可靠的解决问题的方法.

到目前为止,解决此问题的最简单方法是Visual Studio 2012在构建服务器上安装.我知道你已经说过基础设施团队并不热衷于这样做,但IMO是最好的做法.我将尝试概述下面的原因.

在构建服务器上安装Visual Studio似乎很奇怪,但是TFS我已经发现它是管理构建服务器的最简单方法.

您可以从开发计算机手动将文件(目标)复制到构建服务器,但如果对visual studio进行更新,则需要确定已更改的内容并确保更新所有这些文件.这些文件通常包括目标文件和相关的dll.

此外,对于现在可用的所有扩展和软件包,只需在构建服务器上加载Visual Studio并安装所需的软件包,而不是尝试找出复制功能所需的内容.

最近微软发布时,我对此非常清楚ASP.Net and Web Tools 2012.2.这改变了网站和Web项目的发布管道,我需要在我的TFS构建中使用它.能够登录我的构建服务器,加载Visual Studio并下载新更新要容易得多.

我肯定会支持在构建服务器上安装Visual Studio.

  • 您对VS2012的安装如何简化长期维护工作以及防止可能发生的突破性变化的保护意见使基础设施团队确信这是最佳的前进道路.这些项目现在正在愉快地建设.感谢您抽出宝贵时间撰写如此详细的回复,并通过与我的具体案例相关的示例进行备份. (3认同)