0

我添加了参考 Microsoft.Excel.16.0.Object.Library 以便能够在 Excel 中进行处理。但是,我编写的程序给其他计算机带来了错误。因为他们的计算机有这个库的旧版本。我可以让我的程序在这些库的所有版本中都可以使用吗?

4

1 回答 1

0

如果你真的需要依赖互操作,你应该使用后期绑定。这样您就可以在运行时引用已安装的库版本。

与早期绑定相比,后期绑定要等到运行时才能将属性和方法调用绑定到它们的对象。为此,目标对象必须实现一个特殊的 COM 接口:IDispatch。IDispatch::GetIDsOfNames 方法允许 Visual C# 询问对象它支持哪些方法和属性,然后 IDispatch::Invoke 方法允许 Visual C# 调用这些方法和属性。这种方式的后期绑定具有消除早期绑定固有的一些版本依赖性的优点。但是,它的缺点是删除了对自动化代码完整性的编译时检查,并且没有提供可以提供线索以正确调用方法和属性的 Intellisense 功能。看:KB 302902:使用 Visual C# .NET 绑定 Office 自动化服务器。有关在 C# 中使用后期绑定的更多信息,请点击此处

但是,C# 中的后期绑定可能会很痛苦。无论如何,为了使用后期绑定,请按照此处描述的步骤进行操作。

于 2017-11-26T21:51:50.337 回答