TFS 2010构建 - 我需要在TFS 2010构建服务器上安装Visual Studio 2010吗?

3
我在编译服务器上出现以下错误,但本地编译和测试都没有问题:

(150):无法找到导入的项目“C:\Program Files\MSBuild\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets”。请确认声明中的路径是否正确,并且磁盘上是否存在该文件。

我已将本机的WebApplications文件夹添加到构建服务器上的相应路径中,但仍然无法解决此错误。
我认为在TFS2008中推荐的方法是在构建服务器上完整安装VS2008。TFS2010和VS2010是否也适用于此方法呢?这难道不是杀鸡焉用牛刀吗?

@John Saunders 安装期间安装所需组件的 TFS 怎么样? - Darren Lewis
3
VS 项目文件只是 MSBuild 文件,因此我预期它可以安装所有所需的 MSBuild 目标。您不需要 VS 来构建 .NET 项目,因此我认为在构建服务器上安装它是不合理的。在拥有许多代理的大型构建环境中,这是一个巨大的维护开销。如果在带外发布新目标,则应该有一种方法将其部署到构建环境中,而无需运行 VS 安装程序。 - Darren Lewis
也许你不知道,Visual Studio有很多版本。不同的版本安装不同的目标文件,或者至少曾经是这样。以前有一个“Visual C#”版本,只包含C#,没有VB.NET目标。一些插件产品可以添加更多的目标,甚至不是来自微软。如果你在构建机器上没有安装它们,你就得不到这些目标、程序集,或者可能需要进行构建的其他工具。这甚至还没有涉及到许可证问题。 - John Saunders
1
@John Saunders,你可能需要研究一下如何在构建服务器上使用MSBuild(由.NET Framework提供而非Visual Studio)和相关的构建引擎,而不需要安装Visual Studio。这是微软的宣称目标,但许多团队未能实现,因此在许多情况下仍需要使用Visual Studio,遗憾至极。 - Christopher Painter
1
那么,你所说的不是VS2010将构建你的代码,具体指的是什么?顺便说一句,我非常了解整个应用生命周期管理领域。微软在.NET框架、CSC和MSBuild方面的最初意图是,你不需要Visual Studio来构建你的软件。然而,DevDiv的不同团队在遵循这一设计方面做得非常糟糕。 - Christopher Painter
显示剩余3条评论
3个回答

3

如果你计划使用其他功能,如MSTest,那么这非常重要。你可以尝试添加目标文件,但可能仍然缺少一些依赖项。你可以在进行修复依赖项的整个过程中逐步解决问题,但最简单的方法可能就是安装VS 2010并完成它。


2
这篇博客文章似乎描述了一种不需要在构建服务器上安装其他软件就能实现你所需的功能的方法,如果你只需要.NET编译器的话。但它没有涵盖C++编译器的设置。

0
我发现,如果你只是要开发“标准”的(我意识到这个术语有点含糊)Web应用程序和非Web应用程序(例如服务),你可以仅安装 Visual Studio 2010 Shell 和 Visual Studio 2010 SP1 在构建服务器上。这样就可以获取缺少的 .targets 文件。
由于高级功能需要完整的 VS 安装,有人知道构建服务器安装许可证费用是否被免除吗?

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接