最近在玩微软的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. VC下防止反汇编的办法(1)

    最近在看IDA的书,讲汇编语言的部分提到了一种防止递归向下汇编器逆向程序的方法 这里esp指向栈顶,也就是调用方最后入栈的返回地址.然而实际在VC2017里用内联汇编这么做是不行的,原因可以看看VC生 ...

  2. 数据与C

    //以十进制.八进制和十六进制输出100,加入#会显示前缀#include<stdio.h>int main(){ int x = 100; printf("dec = %d; ...

  3. 自动化测试工具selenium的使用

    1.自动化测试的前提

  4. Linux 安装nodejs环境以及路径配置

    linux安装nodejs有2种方式一种简单的,解压即可用:另一种,通过下载source code ,通过编译,make,make install命令来安装. 这里只讲第一种,简单方便.不需要执行ma ...

  5. 我不知道的行高——line-height

    概述 对于块级元素,CSS属性line-height指定了元素内部line-boxes的最小高度. 对于非替代行内元素,line-height用于计算line box的高度. 对于替代行内元素,如bu ...

  6. thinkPHP替换SQL变量

    使用tp里M()->where(pb_id=%d and course=%d and DATE_FORMAT(pub_time, \"%H:%i:%s\") < &qu ...

  7. vue学习问题总结(一)

    使用comopontent组件报错错误信息:vue.js:491 [Vue warn]: Unknown custom element: <todo-item> - did you reg ...

  8. 对于JDBC数据库的初始化操作

    package com.bluesky.connection; import java.sql.Connection; import java.sql.DriverManager; import ja ...

  9. Ubuntu14.04+Nginx+MySql+PHP环境配置

    http://www.cnblogs.com/gophper/p/4793711.html

  10. 编程中&和&&的区别

    逻辑电路中用&: 与门电路,全真为真,有假为假. 编程中:&表示取地址符(C)和 按位与(非bool类型时,转换成二进制,按位与运算). &&表示逻辑与运算,& ...