C# 无法在WIN CE平台的.net compact framework中添加对DLL的引用

C# 无法在WIN CE平台的.net compact framework中添加对DLL的引用,c#,c++,.net,dll,compact-framework,C#,C++,.net,Dll,Compact Framework,我已经创建了一个Dll项目文件->新建->项目->VC++->win32智能设备项目,用于安装SDK的.net compact frame项目选项中的WIN CE 当我在另一个C win forms win CE项目中将.dll文件添加为引用时,它显示一个错误: 无法添加对…dll的引用 如何在C项目中使用vc++DLL.net compact Framework 3.5 简言之: 如何用C++代码创建一个DLL,应该移植到C.NET紧凑框架WinCE平台上? 感谢您的任何提示/回复 如果您试图

我已经创建了一个Dll项目文件->新建->项目->VC++->win32智能设备项目,用于安装SDK的.net compact frame项目选项中的WIN CE

当我在另一个C win forms win CE项目中将.dll文件添加为引用时,它显示一个错误:

无法添加对…dll的引用

如何在C项目中使用vc++DLL.net compact Framework 3.5

简言之:

如何用C++代码创建一个DLL,应该移植到C.NET紧凑框架WinCE平台上?
感谢您的任何提示/回复

如果您试图在C中使用C/C++方法,则需要p/调用所需的方法。如果您有自己想要使用的C++程序集,则需要确保它具有某种C接口。 下面是user32方法上的p/Invoke示例:

[DllImport( "user32.dll" )]
[return: MarshalAs(UnmanagedType.Bool)]
public static extern bool EnumWindows( EnumWindowsProc lpEnumProc, IntPtr lParam );
您已经为标准程序集kernal32、user32、GDI32等生成了很多签名

其他链接:


右键单击项目选择属性 在应用程序区域检查目标框架,使其成为.Net Framework 4

在dll文件的原始项目中的两个项目中执行此步骤 以及您需要将dll文件添加到其中的项目


祝你好运

VC++.NET不受Compact框架支持。所以不可能有.NET CFC++ C++ DLL。你需要编辑你的问题。你用什么语言使用什么版本的CF。什么版本的.NET是你正在导入DLL和什么语言的应用程序。我正在为CVEN CE平台做CF 3.5,那么如何使C++ DLL支持CF 3.5 C项目?简而言之:如何用C++代码创建一个DLL,应该移植到C.NET紧凑框架WinCE平台上?好的,我现在明白了。您希望创建一个C/C++dll,可以在设备上使用,并从C应用程序调用。1.您需要设备制造商提供的平台SDK。找到并安装它。2.文件->新建->项目->VC++->Win32智能设备。从步骤1添加SDK,选择DLL,选择导出符号。3.在DLL中创建一个简单的测试函数,将外部C添加到头中的所有函数声明中。4.为您的SDK编译它。5.在C应用程序中,不要添加对DLL的引用。将DLL与P/Invoke[dlliPortYourDLL.DLL]一起使用,将DLL与C应用程序一起放在设备上。从C代码中的C头重新创建结构。有时,您必须注意如何定义结构,以确保所有内容都正确封送。您将需要查看MSDN对P/Invoke和编组的介绍。在.NET中,不能使用p/Unjk使用C++类。只能使用API函数。不能使用内联和宏。您始终可以创建一个封装内联函数或类功能的C函数,并P/Invoke该调用。例如,每个类方法都有一个函数,它使用一个指向该类的指针来绕过该限制。没有第4版的CFI总是想知道人们对compact framework与full framework的区别了解有多少。