最近在玩微软的Desktop Bridge项目,遇到了如下几个坑:

1、文档中给的是js项目魔改的方法,其实C#项目也可以魔改加入UWP部分的,区别在于:

  • 不用在项目文件里写<AppxGeneratePrisForPortableLibrariesEnabled>false</AppxGeneratePrisForPortableLibrariesEnabled>
  • 只支持Release,Debug的话会报错

2、win32项目引用UWP的类库之后,注意区分有些方法是UWP的,需要CoreWindow的支持。比如使用C# wpf做desktop bridge的时候,调用了 UWP里的获取分辨率的方法,程序就会报错,但是因为都是用C#,命名空间也非常相似,还是要多加注意。

3、复制到uwp项目里的win32部分,一定要全部是 内容 复制 ,不然肯定爆炸,而且win32项目不要全部放到根目录,最好建一个文件夹放所有的win32资源。

4、一个神坑,部分win32项目,尤其是wpf项目引用的dll,放到uwp项目中之后,编译会报错,而且我没找到区分这些出问题的dll的方法。我的解决方法是一个一个的删,然后测,最后找到了几个依赖,然后用了其他方法实现。

5、神坑中的神坑。nuget包,Microsoft.NETCore.UniversalWindowsPlatform,版本5.4.X对应.net native1.7,6.0.X对应.net native2.0。

之前我一直用的5.4.X,生成的商店包中的upload,解压开是可以直接安装调试的,而6.0.X生成的商店包解压安装之后,会卡第一屏然后闪退。

外挂调试器提示KERNELBASE.dll出错,事件查看器是

错误应用程序名称: TestSapmple.exe,版本: 1.0.0.0,时间戳: 0x5aaa0663
错误模块名称: KERNELBASE.dll,版本: 10.0.17115.1,时间戳: 0xe1aad729
异常代码: 0xe0434352
错误偏移量: 0x0000000000017e98
错误进程 ID: 0x48d8
错误应用程序启动时间: 0x01d3bc2054d14484
错误应用程序路径: C:\Program Files\WindowsApps\XXX\TestSapmple.exe
错误模块路径: C:\WINDOWS\System32\KERNELBASE.dll
报告 ID: b98bd41a-5bf5-4ed8-8753-b5812a261580
错误程序包全名: XXX
错误程序包相对应用程序 ID: App

应用程序: TestSapmple.exe
Framework 版本: v4.0.30319
说明: 由于未经处理的异常,进程终止。
异常信息: 异常代码为 e06d7363,异常地址为 00007FFA9E357E98
堆栈:

我把VS重装几次,甚至都想重装系统的时候,突然问了问别的大佬,发现大家都是这种状况。而微软的文档之说让测试生成的Test文件夹下的appx包,并没有提到appload文件怎么怎么样。所以我把这个坑在这里记录一下,希望下一个遇到这个坑的人能看到。

UWP:记录一下这几天踩到的坑的更多相关文章

  1. 记录初学者学习Hive时踩过的坑

    1. 缺少MySQL驱动包 1.1 问题描述 Caused by: org.datanucleus.store.rdbms.connectionpool.DatastoreDriverNotFound ...

  2. wrk 使用记录及踩过的坑

    wrk是什么?https://github.com/wg/wrk wrk 是一个非常小巧高效的开源性能测试工具,支持lua脚本来创建复杂的测试场景.wrk 的一个很好的特性就是能用很少的线程压出很大的 ...

  3. 记录使用git submodule时踩的坑

    在使用git子模块的时候踩了一个坑 在使用git submodule updata --init --recursive命令,即递归更新子模块并初始化时碰到了一个问题: 经过一段不短时间的排查,发现问 ...

  4. "开发路上踩过的坑要一个个填起来————持续更新······(7月30日)"

    欢迎转载,请注明出处! https://gii16.github.io/learnmore/2016/07/29/problem.html 踩过的坑及解决方案记录在此篇博文中! 个人理解,如有偏颇,欢 ...

  5. CentOS7.2上用KVM安装虚拟机window10踩过的坑

    最近两个星期一直在琢磨kvm安装window10操作系统,并且通过桥接模式与外界通信,经历了九九八十一难,终于搞定.下面就记录以下我们在探索的过程中踩过的坑. 安装KVM 1. 系统要求:需要一台可以 ...

  6. [问题解决]RedHat7更换CentOS7的yum源时踩过的坑

    更换yum源的流程 查看当前yum程序 $ rpm -qa|grep yum 这里推荐将其结果截屏或拷贝出来,以免后面报错修复. 删除原有yum源 $ rpm -aq | grep yum|xargs ...

  7. 小程序——微信小程序初学踩过的坑

    微信小程序初学踩过的坑 一.前言     最近因为某些需要和个人兴趣打算开发一下微信小程序,经过在官方网站上的基本了解,我大体知道了微信小程序开发的大致过程,其实最本质的就是MVVM,借用了很多模式上 ...

  8. idea 关于高亮显示与选中字符串相同的内容踩过的坑

    由 Eclipse 切换到 idea 遇到了很多不熟的地方和踩过的坑,下面记录 idea 关于高亮显示与选中字符串相同的内容踩过的坑. IDEA 2017.2.1 版本修改 Identifier un ...

  9. vue项目开发中踩过的坑

    一.路由 这两天移动端的同事在研究vue,跟我说看着我的项目做的,子路由访问的时候是空白的,我第一反应是,不会模块没加载进来吧,还是....此处省略一千字... 废话不多说上代码 路由代码 { pat ...

随机推荐

  1. nodejs和npm的安装

    下载nodejs的压缩包 网址:https://nodejs.org/en/ 下载以tar.xz结尾的包例如:node-v8.9.4-linux-x64.tar.xz 上传包到制定的目录 可以用lrz ...

  2. 【转】egametang框架简介

    讨论QQ群 : 474643097 1.可用VS单步调试的分布式服务端,N变1 一般来说,分布式服务端要启动很多进程,一旦进程多了,单步调试就变得非常困难,导致服务端开发基本上靠打log来查找问题.平 ...

  3. mysql中的范式与范式——读<<高性能mysql>>笔记一

    对于任何给定的数据库通常都有很多表示方法,从完全的范式化到完全的反范式化,以及两者的折中.在范式化的数据库中,每个事实数据会出现并且只出现一次.相反,在反范式化的数据库中,可能会存储在多个地方. 那什 ...

  4. 【南京邮电】maze 迷宫解法

    [南京邮电]maze 迷宫解法 题目来源:南京邮电大学网络攻防训练平台. 题目下载地址:https://pan.baidu.com/s/1i5gLzIt (密码rijss) 0x0 初步分析 题目中给 ...

  5. java多线程编程——锁优化

    并发环境下进行编程时,需要使用锁机制来同步多线程间的操作,保证共享资源的互斥访问.加锁会带来性能上的损坏,似乎是众所周知的事情.然而,加锁本身不会带来多少的性能消耗,性能主要是在线程的获取锁的过程.如 ...

  6. Winform下去除MDI窗体边框

    做项目中间遇到了MDI窗体内边框的问题,经过苦苦寻找,最终得到了解决方案 在Main窗体中调用API // Win32 Constants ; ; private const int WS_BORDE ...

  7. 关于C/S框架网单表绑定,查询

    这种绑定暂时支持单表,并且不支持主键自增长!保存,删除,查看,修改用框架现成的. 1.先生成tb.bll.dal三个类.框架有生成工具,在debug文件里面有个叫CSFramework.Tools.C ...

  8. LINUX signal 信号

    body, table{font-family: 微软雅黑; font-size: 10pt} table{border-collapse: collapse; border: solid gray; ...

  9. Redis持久化存储

    Redis是一个支持持久化的内存数据库,也就是说redis需要经常将内存中的数据同步到磁盘来保证持久化.redis支持四种持久化方式,一是 Snapshotting(快照)也是默认方式:二是Appen ...

  10. H3C无线路由器安装与设置

    一.电脑与路由器的连接利用一根cat5e网线一头连接到电脑上笔记本或台式机都可以,另一头连接到无线路由器的LAN口任意LAN口都可以二.设置无线路由器完成路由器安装与电脑连接后,接下首次使用就需要设置 ...