针对个人的上一篇文章中提到的遇到的几个问题,做一下个人解答

DLL部署的问题,可以将DLL添加到工程中,属性中设置content为true,这样,部署目录下就会有这个文件。

需要说明的是,这个文件确实过去了,在PC上可以直接看到,在模拟器上我用遍历当前目录的函数查了一遍,文件确实存在

但是,如果DLL是普通的WIN32DLL,在模拟器上依然报文件找不到的异常,个人推断是,这个DLL不知道还引了什么东西,所以不能正常用。如果是UWP的DLL就可以

最终的解决方案是:DLL需要有源码,重新创建UWP的DLL工程,将源码移植过来,调整使可编译过,这样,可以在所有平台和设备上可以正常用

另外,还做了一步发布到商店前的验证,会提示一些API不该被调用,策略是在编DLL时加入宏WINAPI_FAMILY=WINAPI_FAMILY_APP试一下

此处的一些内容,参考了 http://www.cnblogs.com/nio-nio/p/3410180.html ,可以去看一下

个人有点自己的观点提一下,主要是第二部分中复用DLL的图,首先,还有一种途径是直接将DLL源码写到运行时组件中,其次,在倒数第二条路子中,C#应该是可以直接调DLL的,比如通过DLLIMPORT的方式,只不过接口写起来比较麻烦

最近在用C++/CX封运行时组件提供的接口,有几点需要记一下备忘:

运行时接口中需public的才能被外面看到并调用,而且必须要在命名空间中,不能全局,而且命名空间必须和工程名一致

运行时接口中,字符串参数用Platform::String^,和std::string的转换可参考 http://www.cnblogs.com/zouzf/p/3984628.html

运行时接口中,如果参数用到map或vector,在声明中需要用Windows::Foundation::Collections::IMap^这种类似格式,而在实现中去创建对象时,用ref new Platform::Collections::Map;

运行时接口中,遇到了想传对象指针,但是不是运行时对象,网上有人提到接口中参数用Platform::UIntPtr这种类型,和指针互转时用return reinterpret_castPlatform::UIntPtr*(&m_pObj) 或 Pointer m_pObj = *reinterpret_cast(&value);

代码中,枚举用public enum class Color
{Red = 1,
Green,};

代码中,异步编程时也比较简单,在异步接口中,返回值为Windows::Foundation::IAsyncAction^,或同命名空间下的其它类,区别在于是否有返回值,是否有进度等,接口的实现中,调用Concurrency::create_async(this{}来写一个lambda表达式,表达式里面做同步的操作就可以了,在外面调的时候,使用await调就可以了。
该处参考了示例: https://msdn.microsoft.com/zh-cn/library/windows/apps/hh755833.aspx
对应的大部分API可以在这查到: https://msdn.microsoft.com/en-us/library/windows/apps/jj207212(v=vs.105).aspx
https://msdn.microsoft.com/en-us/library/windows/apps/br211377.aspx

以上,此记

UWP开发小记的更多相关文章

  1. 领域驱动和MVVM应用于UWP开发的一些思考

    领域驱动和MVVM应用于UWP开发的一些思考 0x00 起因 有段时间没写博客了,其实最近本来是根据梳理的MSDN上的资料(UWP开发目录整理)有条不紊的进行UWP学习的.学习中有了心得体会或遇到了问 ...

  2. UWP开发必备:常用数据列表控件汇总比较

    今天是想通过实例将UWP开发常用的数据列表做汇总比较,作为以后项目开发参考.UWP开发必备知识点总结请参照[UWP开发必备以及常用知识点总结]. 本次主要讨论以下控件: GridView:用于显示数据 ...

  3. Win10 UWP开发系列:使用VS2015 Update2+ionic开发第一个Cordova App

    安装VS2015 Update2的过程是非常曲折的.还好经过不懈的努力,终于折腾成功了. 如果开发Cordova项目的话,推荐大家用一下ionic这个框架,效果还不错.对于Cordova.PhoneG ...

  4. UWP开发之控件:用WebView做聊天框

    目录 说明 WebView存在的价值 使用WebView的几个重要技巧 使用WebView做的聊天框 说明 大家都知道,无论是之前的Winform.WPF还是现在的IOS.Android开发中,都存在 ...

  5. Win10 UWP 开发系列:使用SQLite

    在App开发过程中,肯定需要有一些数据要存储在本地,简单的配置可以序列化后存成文件,比如LocalSettings的方式,或保存在独立存储中.但如果数据多的话,还是需要本地数据库的支持.在UWP开发中 ...

  6. Win 10 UWP开发系列:设置AppBarButton的图标

    在WP8以前,页面最下面的四个小圆按钮是不支持绑定的,WP8.1 RT之后,系统按钮升级成了AppBarButton,并且支持绑定了.在Win10 UWP开发中,按钮的样式发生了变化,外面的圆圈没有了 ...

  7. Win10/UWP开发—凭据保险箱PasswordVault

    PasswordVault用户凭据保险箱其实并不算是Win10的新功能,早在Windows 8.0时代就已经存在了,本文仅仅是介绍在UWP应用中如何使用凭据保险箱进行安全存储和检索用户凭据. 那么什么 ...

  8. Win10/UWP开发—使用Cortana语音与App后台Service交互

    上篇文章中我们介绍了使用Cortana调用前台App,不熟悉的移步到:Win10/UWP开发—使用Cortana语音指令与App的前台交互,这篇我们讲讲如何使用Cortana调用App的后台任务,相比 ...

  9. Win10/UWP开发—使用Cortana语音指令与App的前台交互

    Win10开发中最具有系统特色的功能点绝对少不了集成Cortana语音指令,其实Cortana语音指令在以前的wp8/8.1时就已经存在了,发展到了Win10,Cortana最明显的进步就是开始支持调 ...

随机推荐

  1. web标准(复习)--4 纵向导航菜单及二级弹出菜单

    今天我们开始学习纵向导航菜单及二级弹出菜单,包含以下内容和知识点: 纵向列表 标签的默认样式 css派生选择器 css选择器的分组 纵向二级列表 相对定位和绝对定位 一.纵向列表纵向列表或称为纵向导航 ...

  2. Zepto源码笔记(三)

    ps:本文中"组装成成数组"指的是若元素个数大于1则返回数组,若元素只有1个则返回元素本身 以下函数是$.fn该对象的方法 ready(callback) 通过readyRE正则表 ...

  3. Symfony2源码分析——启动过程2

    文章地址:http://www.hcoding.com/?p=46 上一篇分析Symfony2框架源码,探究Symfony2如何完成一个请求的前半部分,前半部分可以理解为Symfony2框架为处理请求 ...

  4. 利用pyapns进行ios推送

    ios客户端的同事提供了2个证书,分别是aps_development.cer  和 pushdevelopment.p12, 我最终目的就是把这2个证书合并成1个pem证书,然后通过pyapns进行 ...

  5. WF学习

    1.添加argument 类的argument必须先在表达式里面实例化 argument和variable 没有区别啊??????? http://msdn.microsoft.com/en-us/l ...

  6. contentInset,contentsize和contentOffset区别

    contentInset,contentsize和contentOffset区别   今天看别人用到了contentInset,觉得很迷糊,于是gogle了一下,搜到了一篇分析的很好的文章,转在这里, ...

  7. ServletContext对象(每个工程只有一个此对象)

    一]重点方法:        1>存取对象                        void setAttribute(String name, Object object);//将obj ...

  8. 单线程Singleton模式的几个要点

    1.Singleton模式中的实例构造器可以设置为protected以允许子类派生.2.Singleton模式一般不要支持ICIoneable接口,因为这可能会导致多个对象实例,与Singleton模 ...

  9. 浅谈JVM内存区域划分

    好吧,虽说真的有看过<深入分析Java Web技术内幕>一书,但当时看的时候还是一知半解,稀里糊涂的看完了.本来是打算暑假拿起来再看一遍的,但是早两天一个阿里学长给我做了个小面试,让我颇受 ...

  10. eclipse3.7 安装maven插件与scm

    转自:http://blacksonny.iteye.com/blog/1900275 最近要使用maven进行开发,之前的eclipse3.7 使用一下两个地址安装好了插件,如下: maven插件 ...