我dll
在 Visual Studio 中使用 C# 创建了一个。它的依赖项中有六个.lib
文件。
通过阅读此处的其他一些问题,我收集到.lib
文件是在运行时链接的,这让我认为这些文件不包含在.dll
我制作的文件中。
那我该如何分发dll
文件呢?我是否必须将.lib
文件与文件一起发送.dll
,或者有什么方法可以静态编译它,以便所有内容都包含在一个.dll
文件中?
我dll
在 Visual Studio 中使用 C# 创建了一个。它的依赖项中有六个.lib
文件。
通过阅读此处的其他一些问题,我收集到.lib
文件是在运行时链接的,这让我认为这些文件不包含在.dll
我制作的文件中。
那我该如何分发dll
文件呢?我是否必须将.lib
文件与文件一起发送.dll
,或者有什么方法可以静态编译它,以便所有内容都包含在一个.dll
文件中?
要查看哪些文件应该与 DLL 一起分发,您可以使用Dependency Walker。只需将您的 DLL 文件拖到应用程序中,看看它是否有任何依赖项。
另请注意,您可能需要分发 Visual C++ 运行时(“Visual C++ Redistributable Package”)。
对于 C#,您不需要包含任何 .lib 文件。它们由 C/C++ 编译器在链接步骤中使用,但 C# 使用 DLL而不链接(动态加载和GetProcAddress
)与[DLLImport()]
属性。
只需将 DLL 与您的应用程序一起分发就可以了。