在Windows C#app

时间:2017-04-10 23:48:59

标签: c# c++ .net native managed

我知道这已被问了很多次,但我觉得我有点麻烦。

我有一个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所在的最终输出文件夹中。

任何想法如何解决这个问题?

0 个答案:

没有答案