TFS 2010 Microsoft.Office.Interop参考问题

4
我快被这个问题逼疯了!
  1. 我在虚拟机上创建了一个新的TFS服务器。
  2. 我创建了一个新的构建定义,当我从本地机器检入解决方案时,TFS将使用默认的构建过程模板来构建我的解决方案。
  3. 在TFS机器和我的本地机器上,我都安装了MS Office 2010和.Net Framework 4.0。
  4. 在我的项目中,我引用了Microsoft.Office.Interop等。
  5. 这一切都在我的本地机器上很好地构建。

问题出现在触发构建定义时。构建运行并做它的事情,直到它到达Microsoft程序集引用为止。

  • 'Office'类型或命名空间'Microsoft'中不存在(是否缺少程序集引用?)
  • 'Application'类型或命名空间未找到(是否缺少using指令或程序集引用?)
  • 等等

参考路径指向GAC,如果有关系的话。

任何帮助都会很棒,你因此也会变得很棒。

敬礼, Byron Cobb。

1个回答

11

拜伦,

如果你从计算机已编译版本中获取程序集,请在解决方案层级创建一个libs文件夹,然后将以下dll添加到该文件夹中:

  1. Microsoft.Office.Interop.Word.dll
  2. Microsoft.Office.Interop.Excel.dll
  3. Microsoft.Vbe.Interop.dll
  4. OFFICE.DLL

然后删除对Office Interop的引用,并在你的libs文件夹中添加以下程序集的引用,就可以愉快地工作了。我们在构建服务器上也不使用Office。

敬礼

Iain


1
我最终进入了C:\Program Files (x86)\Microsoft Visual Studio 10.0\Visual Studio Tools for Office\PIA,并从那里获取了dll文件。 - Bob
这并不糟糕。但感谢您提供详细的答案,看起来是使用VSTO + TFS的最佳实践。 - Anonymous Type
尝试将引用的属性设置为复制本地(true)。如果这样不行,将错误添加到问题中。 - Iain
您是否仍需要安装MS Word / Excel运行时? - lordkain
是的,你需要!https://msdn.microsoft.com/zh-cn/library/vstudio/bb398242(v=vs.100).aspx - lordkain
显示剩余3条评论

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