0

我已经构建了一个 C++/CLI DLL,它是一些 .NET C# DLL 的包装器。作为一个示例应用程序,我已经为基于 WindowsForms GUI 的 exe 应用程序构建了一个简单的项目。它适用于我的 C++/CLI 库和提到的 .NET C# DLL。但是,如果我构建另一个 C++ DLL 来替代这个示例 exe 应用程序,它不会成功加载 .NET C# DLL,尽管它位于当前的 Windows 路径中。尝试从此 C# 代码调用某些函数时发生以下异常:

MyApp.dll 中出现“System.IO.FileNotFoundException”类型的未处理异常附加信息:无法加载文件或程序集“xxxx,Version=yyyy,Culture=neutral,PublicKeyToken=null”或其依赖项之一。该系统找不到指定的文件

有哪些可能的问题?一般来说,C# DLL 应该如何链接到非托管可执行文件?是清单的问题吗?提前致谢。

4

1 回答 1

3

加载 .NET 程序集时不使用 windows 路径。程序集必须与可执行文件位于同一文件夹中,或者位于 GAC 中。(这有点过于简单了,请参阅下面的链接了解更多详细信息)

于 2013-08-13T16:24:34.727 回答