【问题标题】:How to add a C++ DLL in Windows Phone 8 (C#) Framework如何在 Windows Phone 8 (C#) 框架中添加 C++ DLL
【发布时间】:2012-11-08 13:52:52
【问题描述】:

我正在尝试将 C++ DLL 添加到 Visual Studio Express 2012 中的 Windows Phone 8 框架。

我尝试了以下方法

  1. 通过PInvoke导入和调用

    [DllImport("WP8DLL.dll", CallingConvention = CallingConvention.Cdecl)]

    public static extern int functionReturningInteger();

    结果:这种方式虽然没有编译错误,但是当我尝试访问 DLL 的方法时,它会抛出 System.NotSupportedException

  2. 在项目属性中添加引用

    结果:我收到消息“无法将对更高版本的引用或不兼容的程序集添加到项目中

【问题讨论】:

  • 我确信这个问题已经被问了很多次,所以它可能会被关闭为重复;但是我做了一个快速的谷歌搜索并产生了codeproject.com/Articles/9826/…
  • “当我尝试访问 dll 的方法时,它显示异常” 我们必须尝试猜测异常是什么,这对我们来说并不有趣。你可以看到我们看不到。不要向我们隐瞒信息。
  • 我得到的异常是“System.NotSupportedException”
  • DLL 是如何构建的?它是否为您尝试运行的正确 CPU 架构而构建(ARM 用于设备,X86 用于模拟器)?它是针对 Windows Phone 8 头文件和库还是针对完整的 Windows 构建的?

标签: c# dll visual-studio-2012 dllimport windows-phone-8


【解决方案1】:

您不能将托管 Windows Phone 8 项目中的引用直接添加到本机静态或本机动态库。您将需要创建一个 Windows Phone 运行时组件。这些可以被你的 UI 项目引用,也可以引用 C++ 项目等。

请参阅this link 了解更多信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-27
    相关资源
    最近更新 更多