0

我正在尝试将一些为 1c2 机器(拇指)编译的 DLL 导入 WinMobile 6.1 C# 智能设备项目。

但是,当我尝试将它们导入我的 C# 项目时,我得到“无法添加对 ... 的引用”,我可以添加已为 14C 机器 (x86) 编译的 DLL,我的 C# WinMobile 项目具有任何 CPU,因为它的设置,是否可以导入 1C2 机器 DLL 或者我需要将这些重新编译为 14C 机器 x86?

DLL 导入

4

1 回答 1

2

你不能做你想做的事。您不能只从托管代码“添加引用”到本机 DLL。“添加引用”专门用于添加托管引用。

如果要从托管代码调用本机 DLL,则必须编写和调用 P/Invoke 互操作函数。即使这样,您也只能调用公开导出的 C 函数(不能调用 C++,除非它具有 COM 接口),因此您可能还必须编写 C 存根或某种形式的工厂函数来代理您希望进行的任何 C++ 调用。

于 2012-11-26T14:52:49.837 回答