1

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

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

问题是,当我去发布应用程序时,这些 dll 不包括在内,而且发布比无用更糟糕,因为它创建了一个应用程序,该应用程序在您调用其中一个 dll 之前一直运行。

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

4

2 回答 2

2

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

于 2008-11-06T21:44:09.077 回答
1

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

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

于 2008-12-03T01:19:53.760 回答