我正在尝试在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'中指定的命名空间或类型不包含任何公共成员或无法找到。确保定义了名称空间或类型,并且至少包含一个公共成员。确保导入的元素名称不使用任何别名。
答案 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可能与您自己的计算机上的位置不同。