2

我在安装了 Excel 2007 的服务器上的 SSIS 脚本任务中使用 Excel 互操作。

几天以来,当我尝试打开脚本任务时出现错误。每当我打开代码时,对 Interop 的引用都会标有黄色警告标志,并且无法引用命名空间。我无法通过“添加引用”再次添加它,当我尝试在 COM 选项卡中添加 Excel 对象库时,它也添加了黄色警告标志(我找不到错误消息)。

但是,当我不保存更改而只运行整个项目时,它可以正常工作。因此,互操作似乎有效,但不知何故在 Visual Studio 中找不到。我尝试再次安装 PrimaryInteropAssemblies,但没有成功。仍然可以在 c:\windows\assembly 下找到互操作程序集。奇怪的是,没有为程序集提供处理器架构,而它在我的开发机器上。我试图卸载程序集然后再次安装它,但由于权限不足(即使作为管理员)而无法执行。

几天前我必须安装 Windows SDK 才能使用 gacutil,这可能是缺少参考的原因吗?

编程语言是 C# 2010 和 Visual Studio 2010。

谢谢,

编辑:我找到了一个解决方案,尽管它仍然无法正常工作。下面是它的工作原理: 可以通过将引用的“指定版本”属性设置为 false 来解决问题。新项目可以通过在 C:\Windows\assembly\GAC\Microsoft.Office.Interop.Excel\12.0.0.0__71e9bce111e9429c\Microsoft.Office.Interop.Excel.dll 下引用来使用互操作

4

1 回答 1

0

通过更多的实验,我终于找到了解决问题的方法,并想在这里分享。它绝对不是它应该的样子,如果有人知道这个问题背后的原因,我仍然会非常感激。

该问题可以通过将引用的“指定版本”属性设置为 false 来解决。新项目可以通过在 C:\Windows\assembly\GAC\Microsoft.Office.Interop.Excel\12.0.0.0__71e9bce111e9429c\Microsoft.Office.Interop.Excel.dll 下引用来使用互操作

于 2013-07-24T16:48:48.503 回答