我知道这已被问了很多次,但我觉得我有点麻烦。
我有一个win32 c ++应用程序,它使用来自另一家公司的sdk。那个sdk使用了几个dll文件,甚至是一些我没有源代码的exe文件,甚至不确定它们是如何被编译的。
我的演示中有源代码,展示了如何使用sdk。
我可以构建演示并在我的计算机上运行它。
我想在windows c#应用程序中使用sdk。我很好地限制它为32位应用程序。
我正在使用Visual Studio 2015.当我打开他们的演示时,它必须导入它,所以它的制造商必须使用以前版本的Visual Studio 2015,但我无法确定。
我创建了一个Windows运行时组件(通用Windows)项目。这创建了标准的Class1.cpp和.h文件。
然后我创建了我的空白应用程序(通用Windows)应用程序项目。然后,我在应用程序项目中向运行时组件项目添加了一个引用。
此时我添加了代码以在我的应用程序中创建Class1的实例。我在Class1构造函数中设置了一个断点并调试应用程序。它会在我的断点上停止,因此我知道应用程序和组件之间的连接正在运行。
接下来,我将代码导入运行时组件。此代码包括将包含文件添加到sdk。我还必须将sdk.lib文件添加到链接器。我添加了所有.h文件所在的include目录。
此时我还没有打电话给sdk这些东西。
当我现在调试应用程序时,一旦尝试实现Class1,我就会遇到异常。它不会让我调试到构造函数或任何东西。
找不到指定的模块。 (HRESULT异常:0x8007007E)
我查看了异常的所有细节,并没有说明它正在寻找什么模块。
我已将所有sdk文件添加到sdk的.bin文件夹中。这包括许多dll和exes以及其他文件。我将它们作为内容添加到组件项目中。所有文件都被复制到app exe所在的最终输出文件夹中。
任何想法如何解决这个问题?