【发布时间】:2012-02-13 04:29:57
【问题描述】:
我正在考虑用 C# 编写一个 DLL,作为其功能的一部分,它将利用第三方 DLL 中的方法。
使用 C++ 编写的第三方 COM DLL 在客户端计算机上注册为第三方应用程序的一部分。
现在,我可以在我的解决方案中包含(通过引用 tlb 文件)DLL 并毫无问题地与之交互。但是,DLL 名称(不是方法签名等)每年都会更改,作为第 3 方合并的某些版本控制的一部分。此外,我无法分发第 3 方 DLL(许可等)。
我基本上想要做的是在我的 DLL 中使用非托管 COM DLL,而不在我的解决方案中引用或包含 DLL。
我正在寻找一些针对此特定要求的好文章/示例。我已经看到很多通过文件名、托管 COM 等使用非托管 DLL,但这些不符合我想要实现的目标。
即使有人可以使用以下元素给我一个基本示例,这也是一个很好的起点:
【问题讨论】:
-
试试 msdn.microsoft.com/de-de/library/fh1h056h.aspx - 免注册 COM 互操作
-
这是那篇文章的英文版:msdn.microsoft.com/en-us/library/fh1h056h.aspx。我已经遇到过这种情况,但我们无法控制分发或 3rd 方 dll 的源代码。