我有一个带有C#包装器的非托管dll集合,我正在从C#项目调用它。我添加了一个构建事件行,如下所示:

mkdir ..\Release
mkdir ..\Debug
copy ..\..\Includes\*.dll ..\Release\*.dll
copy ..\..\Includes\*.dll ..\Debug\*.dll

问题是,当我去发布应用程序时,这些dll不包括在内,并且发布比无用更糟糕,因为它会创建一个运行的应用程序,直到你调用其中一个dll。

那么,在发布项目时如何包含非托管dll?

有帮助吗?

解决方案

答案是:不要发布这个,而是使用Windows安装程序,如此处所述。

其他提示

我正在调查同样的问题。关于这个主题的文献确实非常稀少!

我能看到的唯一解决方案是将非托管DLL作为嵌入式资源嵌入到程序集中,并在调用任何函数之前以编程方式将其解压缩到执行路径。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top