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