我必须从一个C#项目创建一个COM库,但是我很难引用外部库。
我已经在项目的属性中设置了“Visible”,当我构建它时,它会创建dll,并将所有所需的dll放在bin/Release目录中。
图书馆使用
所有库都是与.NET或系统库一起导入的。

创建.tlb文件
当我运行一个命令来创建一个.tlb文件时,它被创建了,但是它也显示了一个警告:
tlbexp.exe "MyLib.dll"
TlbExp : warning TX00131175 : When cross-compiling, all type library references should be included on the command line to ensure the correct bit-specific type libraries are loaded.
Assembly exported to 'C:\Workspace\MyProject\bin\MyLib.tlb'看起来这个库已经准备好了,但是我想知道我是否可以忽略这个警告。
那么,发布这个COM可见库的最佳方式是什么呢?我可以直接发布整个bin/Release目录,还是应该使用另一种方法?
发布于 2019-08-28 07:43:29
.tlb只是为了从开发工具中引用您的库(例如VisualC++ ),正确引用并不意味着程序在正确编译之后就能工作。这是因为您需要在目标计算机上正确地安装dll,通常您需要使用带有所有依赖项的dll,然后使用xcopy (指定我建议的regasm.exe标志,这样您就可以在文件系统中指定您想要的dll )。当然,即使是正确的框架也必须安装。
https://stackoverflow.com/questions/57672232
复制相似问题