gpt4 book ai didi

c# - 在哪里放置 native DLL 以使用 Pocket PC 模拟器?

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:30:34 26 4
gpt4 key购买 nike

我正在用 C#(Windows Mobile 6.1 - Visual Studio 2008 - Pocket PC)开发一个 SmartDevice 项目,我想使用 PInvoke。我有一个用 C++ 编写的 native DLL。

当我在我的设备上运行该应用程序时,我将 native DLL 放在\Program Files\My Project 目录(在我的设备上)并且它可以工作,但我需要使用模拟器并且我不知道在哪里放置我的在这种情况下,原生 DLL(在我的计算机上)。

我尝试使用相对路径访问工作目录,我尝试 DllImport 绝对路径:

[DllImport(@"C:\John\VMDLLDevice.dll", EntryPoint = "Write")]
public static extern bool Write(char[] FileName);

但是当我调用 native DLL 时出现异常,因为模拟器找不到 DLL。

我应该在哪里放置我的 native DLL 才能使用模拟器?

最佳答案

假设您在同一个 Visual Studio 解决方案中有这两个项目:

  1. SmartDeviceProject1:C# 中的掌上电脑设备应用程序。
  2. NativeDLL:C++ 中的 Win32 SmartDevice DLL。

现在您可以按照以下步骤操作:

  • 在 Visual Studio Device Option 中为两个项目选择 Pocket PC Emulator。
  • 部署项目;现在在模拟器的 \\Program Files 中,您可以看到两个新目录:SmartDeviceProject1NativeDLL(开始 -> 程序 -> 文件资源管理器-> 程序文件)。

您的 NativeDLL.dll 位于 NativeDLL 目录中,因此请使用以下 DllImport:

[DllImport(@"..\NativeDLL\NativeDLL.dll", EntryPoint = "Write")]
public static extern bool Write(char[] FileName);

现在您可以使用模拟器运行您的应用程序。

MSDN 附加信息: Using the Emulator in Smart Device Projects .

关于c# - 在哪里放置 native DLL 以使用 Pocket PC 模拟器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12893541/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com