2011-02-03 89 views
0

我实现了一个成功编译的C++ dll。该项目包含一个标题和cpp文件。 cpp文件包含多个第三方头文件(主要是Cplex)。在C#项目中添加C++ dll参考的问题

一旦dll创建: 然后,我试图引用Visual Studio中的DLL,它没有工作。 在控制台应用程序,我用了tlbimp.exe是我遇到的错误消息:

<AssemblyFileName.dll> is not a valid type library. 

然后我用的Dependency Walker,它显示错误消息:

"MSVCR90.DLL was not found". 

我肯定失踪如果你能指出解决方案可能是什么,会很感激。

+0

关于MSVCR90.dll - 我认为需要与您的项目的.exe相同的目录中,但我不确定这是否与您的第一条错误消息有关。我GOOGLE了它,并设法下载它。 – BeeBand 2011-02-03 09:46:56

+1

@BeeBand - 如果安装了可再发行组件,我不认为MSVCR90.dll需要存在于相同的目录中。因为可再发行组件会将dll复制到system32目录中。已安装 – programmer 2011-02-03 09:49:46

回答

0

这里有两个问题,一个是,并非所有的本机DLL也类型库,只有COM的。

第二个错误更像是您没有Visual C++运行时可用,您是否正在尝试使用它的同一个盒子上构建C++ dll?

对于非COMN DLL,而不是导入类型库,您可以使用DLLImport方法。