2014-10-16 61 views
1

我想创建一个使用TFS和构建服务器的构建。这是我对构建服务器的第一次尝试,它不太好!Team Foundation Server无法构建。缺少库或组件?

我正在使用Visual Studio 2012和TFS 2012.
该项目是用VB.Net编写的,并使用相当数量的引用。当我在开发机器上构建项目时,我没有任何问题;但后来我安装了Outlook 2013并安装了所有各种必需的组件。

当我将项目发送到构建服务器时,我收到许多与Outlook有关的缺失类型警告以及一些神秘图书馆的警告。
我不能把构建服务器上的前景;那么我该如何解决这个问题呢?

这里是一些消息。 er.vb(45):类型'Outlook.Recipient'未定义。 er.vb(42):类型'Outlook.NameSpace'未定义。 er.vb(39):类型'Interop.Outlook.Application'未定义。 rs.vb(1141):类型'Interop.Outlook.Attachment'未定义。 rs.vb(1144):'Outlook'未被声明。由于其保护级别,它可能无法访问。

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets (1988): 
Cannot get the file path for type library "2df8d04c-5bfa-101b-bde5-00aa0044de52" version 2.7. Library not registered. (Exception from HRESULT: 0x8002801D (TYPE_E_LIBNOTREGISTERED)) 
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets (1988): 
Cannot get the file path for type library "00062fff-0000-0000-c000-000000000046" version 9.5. Library not registered. (Exception from HRESULT: 0x8002801D (TYPE_E_LIBNOTREGISTERED)) 

底部的2条消息不是Outlook相关的,坦率地说,我不确定它在那里寻找什么?

从试图建立最终的消息为:

异常消息:MSBuild的错误1已经结束这个构建。您可以在上面的消息中找到关于此错误原因的更多具体信息。 (类型BuildProcessTerminateException) 异常堆栈跟踪:在System.Activities.Statements.Throw.Execute(CodeActivityContext上下文) at System.Activities.CodeActivity.InternalExecute(ActivityInstance instance,ActivityExecutor executor,BookmarkManager bookmarkManager) at System.Activities.Runtime。 ActivityExecutor.ExecuteActivityWorkItem.ExecuteBody(ActivityExecutor执行者,书签管理器书签管理器,位置结果位置)

我假设我收到此由于各种缺失的组件? 任何援助将不胜感激。

回答

2

您很可能拥有许多仅存在于您的GAC中的引用,或者位于本地程序文件树中。 在文本编辑器中打开项目文件添加看看是否有。 您需要用以下两种方法之一将源代码库中的lib引用替换为这些引用。

  1. 的NuGet包(推荐)。添加软件包/ dll需要

  2. lib文件夹(旧方法)。在您的源代码树中创建一个文件夹并放入您需要的dll .-

如果更新您的引用,然后更新您的scm。那么你的构建应该是自我包容和构建。

在构建代理上安装大型软件包来修复dll引用是不好的做法,构建代理应尽可能保持干净。 源代码树应该包含构建它所需的所有链接/信息。 (可能除了.dot网络框架)