Edi Wang

All Posts 295


Windows 10 UWP开发:更新VS2015 Update 1后无法加载旧工程的解决办法

今天更新了VS2015 Update 1,然后打开以前的UWP工程就爆炸了。这是因为Update 1里的UWP SDK是10586的,以前是10240的。所以我们需要手工改一下工程文件,把运行时的版本号指向10586。不过要注意,这样编译出来的应用就只有Windows 10 TH2的用户能用了。 1. 在工程上右键选择“Edit 工程名字.csproj” 2. 把10240替换成10586 3. 保存工程文件 4. 右键,选择“Reload Project”重新加载工程 5. 成功加载...

Windows 10 VS2015 UWP

Windows 10 UWP开发:如何定时触发后台任务

今天在爆UWP的定时后台任务,坑有点多,爆出屎来了。有的坑在很多网上的文章里都没提到,非常的坑。刚刚开荒成功了,把经验写出来分享: 1. 写一个后台任务的类,继承IBackgroundTask接口 通常,在设计应用程序结构的时候,我们会建类库项目(Class Library)放这些类。比如 FarkBackgroundTask.Core 因为是UWP工程,所以建的类库也要是Universal Windows的。注意,这里我们已经埋下了一个巨坑,稍后会解释。 我们的类代码如下: public class SayFarkTask : IBackgroundTask { public void Run(IBackgroundTaskInstance taskInstance) { Debug.Write("================ F...

Timer Windows 10 UWP Task

Windows 10 UWP开发:如何弹出消息通知

在UWP的App中,弹出消息通知的方法和WinRT一致,注意是App内的消息通知(toast notification)而不是从服务器端推送的通知。主要有几个步骤: 1. 创建XML定义 // 1. create element ToastTemplateType toastTemplate = ToastTemplateType.ToastImageAndText01; XmlDocument toastXml = ToastNotificationManager.GetTemplateContent(toastTemplate); 这里面的消息模板有好几种: // // Summary: // 指定要在消息通知中使用的模版。 [ContractVersion(typeof(UniversalApiContract), 65536)] public enu...

Windows 10 UWP

Windows 10 UWP开发:如何实现WP8的Pivot效果

UWP的Pivot控件动画效果和以前Windows 8, Windows Phone 8的Pivot不一样,在切换PivotItem的时候,当前选择的Item的Header并不会跑到第一个去,而是单纯的像Tab选项卡那样高亮当前的Tab而已。 我个人喜欢Windows 8的Pivot,即下面这个GIF这样的(这是我正在开发的一个UWP应用)。如果你也喜欢传统风格的Pivot,可以参考以下方法。 实现方法特别简单,只要拿Blend从WP8.1 Runtime的Pivot里把默认样式导出来,稍微改下就行:...

Windows 10 UWP

如何配置IIS将旧域名的URL转向新域名

如果你网站要更换新域名,必定会碰到迁移的问题。你不可以直接停止老域名的解析,因为这样做会让搜索引擎失去老的索引,然后降低你网站的排名,正确的方法是告诉搜索引擎,你已经改域名了。也就是当用户或搜索引擎访问你的旧URL时,将URL转向到新域名的对应位置。 比如我的博客,旧域名是diaosbook.com,新域名是edi.wang。那么对于之前对diaosbook.com的访问,如: http://diaosbook.com/post/2015/4/22/how-to-read-webconfig-appsettings-with-bigiblity 需要转向到新域名: http://edi.wang/post/2015/4/22/how-to-read-webconfig-appsettings-with-bigiblity 其实也就是替换域名部分,URL后面的所有内容都保持不变。...

IIS URL URL Rewrite

Windows 10 UWP开发:自定义标题栏

UWP和WPF以及以前Windows 8.1的WinRT应用有些不一样的地方。首先就是标题栏,以前Windows 8.1的应用都是全屏的,没有标题栏,Windows 10里面应用可以窗口化运行,所以我们也能够利用标题栏做一些定制。本文针对初学者,可能写的比较啰嗦。 一、首先是最基本的,如何改变标题栏及按钮的颜色 标题栏的对象位于Windows.UI.ViewManagement.ApplicationView类里,有个属性是 public ApplicationViewTitleBar TitleBar { get; } 为了能够访问这个属性,我们需要先取得当前应用窗口的view: var view = ApplicationView.GetForCurrentView(); 拿到view对象后,就能对TitleBar属性操作了,标题栏的活动和非活动状态的前景色和背景色可以这样...

Windows 10 UWP

Fix Visual Studio 2015 Razor Editor Blow Up

Visual Studio 2015 has been RTM for one month. However, it blows up very often, such as Razor editor. When I try to open any .cshtml file, it blows up with this error, then the syntax highlight is gone. I tried to uninstall all add-on, even repair install VS2015 can't get it working. The detailed error message is: System.Reflection.TargetInvocationException: Exception has been thrown by the ta...

Razor VS2015

如何在IIS管理器(inetmgr)中连接Azure WebSite

我们在Azure上建出来的网站看起来只能用Azure的网页版界面管理,或者Visual Studio的Server Explorer管理。如果想通过IIS的管理界面配置我们的网站,似乎很多小伙伴只能考虑用Azure VM建网站。其实不然。 首先,Windows 8.1的IIS管理器默认情况下确实不能连接Azure,所以要装一个插件:http://www.iis.net/downloads/microsoft/iis-manager 安装完成后,打开你本机的IIS管理器,在File菜单下就会多出来一个: 在Server name里面输入你的Azure网站的SCM地址,即 网站名称.scm.azurewebsites.net:443 Site name一定要和网站名称一致 然后去Azure Portal上download一个publish profile 在这个pro...

IIS Azure

浦发网银插件导致Surface Pro 3不断蓝屏的解决办法

安装浦发网银插件后,Windows 8.1 64位版的系统在部分机器上一开机就蓝屏,比如Surface Pro 3,蓝屏消息是: IRQL_NOT_LESS_OR_EQUAL 这通常是驱动问题导致的。连续启动失败2次后,Windows 8.1会自动进入高级启动,可以用安全模式进系统WINDBG一下dump文件,发现是一个叫peckp_x64.sys的驱动爆的。这个驱动是浦发银行网银插件的一部分,是用来保护键盘输入的,也就是防止键盘记录的盗号木马,但是和Surface Pro 3的驱动冲突,所以导致开机蓝屏。 解决办法如下: 1. 将Windows 8.1启动到安全模式,Surface Pro 3的bitlocker recovery key可以用一台能翻墙的电脑到 onedrive.com/recoverykey 里去找。 2. 在控制面板,程序和功能里,按正常办法卸载浦发插...

Surface BSOD Drivers

Azure Website部署的网站woff字体在IE下404的问题

如果你的网站用了Microsoft Azure的Website服务(改名部门已经改成了Web Apps),那么你会发现woff格式的webfont在IE下是爆掉的,请求回来是404。 根据经验,这应该是IIS没有配置对应的MimeType引起的。然而Azure上的IIS对我们来说是不可操作的,不能够远程桌面到服务器上去改设置,肿么办? 其实在IIS7以后,MineType的配置是可以通过web.config管理的。所以我们只要在web.config/system.webServer节点里面加上这段代码就可以让IIS处理woff的请求了: BTW,最快的在Azure上做即时生效的更改的方法,可以通过VS的Server Explorer连接到Azure,展开你的网站,找到web.config,你的更改可以直接保存到azure上,不用专门再做一次部署了:...

IIS Azure webfont