C# 如何从互操作程序集获取旧版COM路径

C# 如何从互操作程序集获取旧版COM路径,c#,.net,com,interop,C#,.net,Com,Interop,我有来自的互操作程序集,我想获取原始COM dll的路径。如何做到这一点 编辑: 这是一个类似的问题,贴子标记为答案,但它太简短了,我仍然不知道该怎么做。 我已经从interop dll创建了对象,并使用了GetModuleHandle(“mycmserver.dll”),返回了0个结果 代码如下所示: class Program { [DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)]

我有来自的互操作程序集,我想获取原始COM dll的路径。如何做到这一点

编辑: 这是一个类似的问题,贴子标记为答案,但它太简短了,我仍然不知道该怎么做。 我已经从interop dll创建了对象,并使用了
GetModuleHandle(“mycmserver.dll”)
,返回了0个结果

代码如下所示:

class Program
{
    [DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)]
    public static extern IntPtr GetModuleHandle(string libname);

    static void Main(string[] args)
    {
        IntPtr result = GetModuleHandle(typeof(InteropClass).Module.Name);
        Console.WriteLine(result);
    }
}
问候,,
jotbek

到目前为止你试过什么吗?请阅读,我不会为您发布代码,但我会引导您阅读一些您可以阅读的内容,以及您自己的谷歌搜索。。我已经找到了这个链接,还有很多链接,但是没有一个能以简单的方式显示如何获得这样的路径。这在一般情况下是不可能的。COM的一个核心特性是COM服务器可以在任何地方运行,甚至是DLL。包括进程外、托管在COM+中、在处理位问题的代理进程中以及在地球另一端的机器上。因此,没有办法找到答案。不要试图这样做,它不会有好的结局。