我在安装了 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 下引用来使用互操作