无法构建TFS。很多编译错误,例如“类型或命名空间名称'Mvc'在命名空间'System.Web'中不存在”

时间:2011-03-09 17:44:16

标签: tfs

我正在尝试完成我的第一个TFS构建。 但是,当我对构建进行排队时,我会遇到很多编译错误,例如; “命名空间'System.Web'中不存在类型或命名空间名称'Mvc'(你是否缺少程序集引用?)”

我该如何解决这个问题?

4 个答案:

答案 0 :(得分:4)

在TFS Build计算机上安装Visual Studio和ASP.NET MVC。你没有提到你正在使用哪个版本的MVC框架,所以我会给你2.0和3.0的链接:

在构建计算机上安装适当的verison,并且应解决与缺少对System.Web.Mvc的引用相关的错误。

答案 1 :(得分:2)

您还需要在Build机器上安装ASP.NET MVC框架。

构建服务器将查找MVC程序集,但如果没有安装它们将无法找到它们。

您可以在http://www.asp.net/mvc/mvc3下载安装程序,然后只需在Build服务器上运行它。

祝你好运!

答案 2 :(得分:1)

替代解决方案是将System.Web.Mvc.dll签入源代码控制,然后重新创建对system.web.mvc.dll的引用,指向相对于项目的新位置。对于MVC框架来说很容易做到这一点,因为它只是一个程序集。

答案 3 :(得分:1)

除了@ SevaTitov的回答:

在我的机器上,它们位于:

\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 3\Assemblies\*.dll
\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\Assemblies\*.dll

将这些程序集复制到&#lib;'项目中的文件夹,从项目中删除对这些程序集的任何引用,然后从' lib'中重新添加它们。夹。这将改变' HintPath'在.CSPROJ文件中使用来自' lib'在构建机器上构建时的文件夹。如果开发人员没有同步lib文件夹VS仍然应该从上面的程序集搜索文件夹中获取它们,所以不会造成任何损害,但它们也可以在构建机器上找到。