编译在TFS中具有Microsoft Excel的构建

时间:2012-07-13 20:28:13

标签: vb.net tfs2010 ms-office

我正在尝试在VB.net 2010中编译一个在某些时候使用Microsoft Excel dll的项目。当我从我的计算机编译时,它工作正常,但是当我使用TFS对新构建进行排队时,我得到Microsoft.Interop.Excel...未定义的错误。我直接在TFS服务器上安装了Microsoft Office 2010,但我仍然遇到同样的错误。

我必须执行任何配置吗?

修改

您将在Build上看到的典型错误消息:

  

错误BC30002:未定义类型“Excel.Worksheet”。

     

错误BC30002:未定义类型“Microsoft.Office.Interop.Excel.Application”。

     

警告BC40056:Imports'Microsoft.Office.Interop'中指定的命名空间或类型不包含任何公共成员或无法找到。确保定义了名称空间或类型,并且至少包含一个公共成员。确保导入的元素名称不使用任何别名。

3 个答案:

答案 0 :(得分:3)

您需要将dll包含在保存在TFS中的lib文件夹中,并在您的项目中引用该位置的dll,而不是在其他任何位置安装它们。

修改

开发人员通常从C:\ Program Files(x86)\ Microsoft Visual Studio 14.0 \ Visual Studio Tools for Office \ PIA \ Office15引用Interop PIA,服务器上不存在此文件夹。

您需要将这些文件(例如Microsoft.Office.Interop.Excel.dll)复制到源代码管理中的lib或refs文件夹,并从您的解决方案中引用这些DLL,而不是PIA路径中的DLL。

另请注意,Reference Assemblies文件夹中的DLL也是如此,例如:

C:\ Program Files(x86)\ Reference Assemblies \ Microsoft \ Framework.NETFramework \ v4.5 \ System.Windows.Forms.dll

答案 1 :(得分:0)

如果它有所作为,你提到了你的TFS服务器,但这不一定是你的构建发生的地方。

构建报告(可能是您在TFS中看到错误的位置)应指示构建计算机存储源代码的路径 - 默认情况下,路径位于c:\ build下。好的第一步是转到安装了构建代理的机器的桌面(通过右键单击团队资源管理器中的构建节点并选择管理控制器,可以看到构建代理的列表...)您在正确的计算机的桌面上,将源文件夹从该路径复制到同一台计算机上的其他位置,然后打开新的复制解决方案文件并在Visual Studio中构建它。像在本地计算机上一样对构建进行故障排除 - 该构建计算机上缺少某些内容,这些步骤可以帮助您更轻松地找到它。

答案 2 :(得分:0)

您应该尝试手动在构建计算机上运行构建。首先在visual studio中,然后使用msbuild。这应该会失败,但你可能会更好地了解发生了什么,以及它为什么失败。您的excel dll可能与您自己的计算机上的位置不同。