我正在尝试将已为1c2 machine(thumb)编译的一些DLL导入到WinMobile 6.1 C#Smart Device项目中。
但是当我尝试将它们导入我的C#项目时,我得到“无法添加对...的引用”,我可以添加已经为14C机器(x86)编译的DLL,我的C#WinMobile项目有任何CPU因为它的设置,是否可以导入1C2机器DLL或我是否需要将这些重新编译为14C机器x86?
答案 0 :(得分:2)
你无法做你想做的事。您不能只是从托管代码“添加引用”到本机DLL。 “添加引用”专门用于添加托管引用。
如果要从托管代码调用本机DLL,则必须编写并调用P / Invoke互操作函数。即使这样,您也只能调用公开导出的C函数(不是C ++,除非它有COM接口),因此您可能还必须编写C存根或某种形式的工厂函数来代理您希望进行的任何C ++调用。 / p>