sn.exe找不到我注册的托管dll

时间:2013-06-11 14:24:31

标签: .net com typelib

我已经注册了根据本教程制作的COM DLL - http://cppkid.wordpress.com/2009/01/02/how-to-call-a-managed-dll-from-unmanaged-code/。我创建了snk文件,将其复制到解决方案文件夹中(解决方案文件位于源文件夹中),构建完dll后,我使用regasm命令成功注册(尝试使用和不使用/ console选项)。但是要在app中使用它我需要PublicKeyToken,但是当我调用

sn -T MyDLL.dll

sn -T MyDLL.tlb

,结果是:

Failed to read MyDLL.dll -- The system cannot find the file specified.

我甚至尝试输出我的snk文件所在的dll和tlb文件,但结果是一样的。 我使用的是Windows 7 x64和.NET 4.0。 提前谢谢。

1 个答案:

答案 0 :(得分:0)

sn希望能够在路径中找到MyDLL.dll。它是否为COM无关紧要,或者是否已注册。你可能想做这样的事情:

sn -Tp C:\full\path\to\your\assembly\MyDLL.dll