2

dll在 Visual Studio 中使用 C# 创建了一个。它的依赖项中有六个.lib文件。

通过阅读此处的其他一些问题,我收集到.lib文件是在运行时链接的,这让我认为这些文件不包含在.dll我制作的文件中。

那我该如何分发dll文件呢?我是否必须将.lib文件与文件一起发送.dll,或者有什么方法可以静态编译它,以便所有内容都包含在一个.dll文件中?

4

2 回答 2

4

要查看哪些文件应该与 DLL 一起分发,您可以使用Dependency Walker。只需将您的 DLL 文件拖到应用程序中,看看它是否有任何依赖项。

另请注意,您可能需要分发 Visual C++ 运行时(“Visual C++ Redistributable Package”)。

于 2013-04-10T06:48:48.967 回答
1

对于 C#,您不需要包含任何 .lib 文件。它们由 C/C++ 编译器在链接步骤中使用,但 C# 使用 DLL而不链接(动态加载和GetProcAddress)与[DLLImport()]属性。

只需将 DLL 与您的应用程序一起分发就可以了。

于 2013-04-10T06:53:47.293 回答