【发布时间】:2010-08-31 17:59:57
【问题描述】:
我正在为 Peachtree API 编写一个应用程序,它需要使用任何版本的 API。不幸的是,Peachtree 2011 中的 dll 无法与 Peachtree 2010 交互,反之亦然,即使这两个 dll 存储在同一位置并使用完全相同的代码运行。
我认为我应该能够通过它的文件路径引用 dll,将特定版本保留为 false,将互操作类型设置为 false,并将本地复制为 false,它只会使用机器拥有的任何版本,但我明白了当我这样做时出现错误 - “调用的目标已引发异常。”
有没有办法后期绑定 dll,即使它是 COM?
我可以提供您认为有帮助的任何代码示例,但这更多的是项目设置问题。
编辑:非常感谢大家的帮助。我在另一个人的问题上找到了我的解决方案并将其发布在这里。
【问题讨论】:
-
通常在编译时链接interop DLL,如果它存在于系统中,它将在运行时加载COM dll。错误中是否有更多信息或内部异常?是否有错误代码 (0xZZZZZZZZ)?您可以链接堆栈跟踪,还是提供有关您的应用程序的太多信息? Peachtree API,是 COM,还是链接到 COM 的 DLL?
标签: c# .net com-interop