【发布时间】:2011-07-22 11:33:22
【问题描述】:
我正在部署一个 WPF ClickOnce 应用程序,该应用程序使用 VC++ 编写的第 3 方 dll 和第 3 方 C# dll 来访问此 C++ 库。我对这些组件中的每一个都有 Visual Studio 解决方案,并且我已经使用 Release/x86 配置构建了它们。
我的应用程序也设置为发布,但是,当我将应用程序部署到机器(没有 Visual Studio)时,我得到 System.DllNotFoundException,它说它找不到 c# dll。我检查了部署机器的“应用程序文件”目录中是否存在所有必需的文件。
感谢您的帮助。
【问题讨论】:
-
它们不应该在部署机器上的可执行文件目录中吗?确保它们被标记为“包含”而不是“数据文件”。
-
是的,c++ .dll 和 c# .dll 都与可执行文件在同一个文件夹中,并且都标记为 Include/Required
-
我还应该补充一点,我在 VS 2010 中构建了第 3 方组件,而我的应用程序是 VS2008。我不确定这是否会有所不同。
-
您无法使用 ClickOnce 部署 C++ 运行时 DLL。我猜这必须是一个“先决条件”。