在Visual Studio中使用第三方库的时候,若第三方库没有通过NuGet分发,则通常需要自行将DLL文件复制到生成目录才能正常运行程序。通过将文件直接包含到项目中可以自动完成该任务,但会在解决方案资源管理器中看到大量DLL文件。本文介绍一种方法,通过在MSBuild文件(csproj、vcxprj等)中添加目标和任务,实现生成时自动将DLL文件复制到生成目录。
继续阅读“通过MSBuild任务自动复制DLL文件”UWP项目的Program类和Main函数
一个.NET程序的入口点通常是Program类中的Main函数。包括WPF应用、控制台应用、ASP.NET应用在内都是从Main函数开始执行的。而使用.NET编写的UWP平台应用同样是从Main函数开始执行的,只不过开发者通常并不参与到Main函数的编写中。
继续阅读“UWP项目的Program类和Main函数”使用Visual Studio调试闪退问题
编写.NET或UWP软件时,Visual Studio是常用的的调试工具之一。其监视、调用堆栈等功能在对程序逻辑进行查错时十分有用。但如果软件在Visual Studio中启动时一切正常,在别的地方启动(比如后台任务、文件打开甚至在其他电脑上使用时)时却发生闪退,该如何进行调试呢?本文介绍如何创建内存转储文件(Dump)并使用Visual Studio进行“事后调试”,以实现对闪退故障的调试。
继续阅读“使用Visual Studio调试闪退问题”在Microsoft Store上发布字体
从某个版本开始,Windows 10应用商店Microsoft Store上可以下载字体了。但如何在Microsoft Store上发布字体一直是个未解之谜。本文将介绍在Microsoft Store上发布字体的完整步骤。
继续阅读“在Microsoft Store上发布字体”UWP进程内后台任务使用Prism的依赖注入
Prism是一个可用于UWP平台的MVVM库,提供了包括依赖注入在内的实用功能。在使用过程中,发现如果要在UWP的进程内后台任务中使用Prism的依赖注入功能,需要对一些初始化进行一些修改。
继续阅读“UWP进程内后台任务使用Prism的依赖注入”自动清理NuGet全局包目录
编写UWP和.NET Core项目时,少不了与NuGet包管理器打交道。长久以往,你有没有注意到,你的磁盘空间已经被NuGet全局包目录不断侵蚀?NuGet全局包目录默认位于“%USERPROFILE%/.nuget”路径中,所有UWP和.NET项目中安装过NuGet包都会保存在该目录中。很遗憾,目前NuGet并没有任何清理该目录的功能,随着时间的流逝,这个目录占据10GB以上空间并不稀奇。
继续阅读“自动清理NuGet全局包目录”最简单的UWP最小化运行
通过Extended Execution的功能,UWP应用能够实现最小化或锁屏时保持运行状态。为了尽可能地简化Extended Execution的使用,我写了一个帮助库ExtendedExecutionHelper,在GitHub上开源,可从NuGet上获取。
继续阅读“最简单的UWP最小化运行”
利用UWP数据保护功能加密字符串
UWP平台支持使用Windows系统自带的Data Protection功能进行数据加密,密钥由操作系统进行管理,开发者无需考虑密钥的生成和分发问题。该功能可以将数据加密为只有特定用户才能解密的密文。
继续阅读“利用UWP数据保护功能加密字符串”
解决Entity Framework Core 2.0命令行工具与UWP不兼容的问题
如果你在一个面向16299以上版本系统的UWP项目中使用Entity Framework Core 2.0,使用Add-Migration等命令行工具时,命令行工具会直接拒绝运行,出现如下错误信息:
Startup project 'App4' is a Universal Windows Platform app. This version of the Entity Framework Core Package Manager Console Tools doesn't support this type of project. For more information on using the EF Core Tools with UWP projects, see https://go.microsoft.com/fwlink/?linkid=858496
UWP后退功能处理
UWP后退功能处理有三个要点:一是响应系统后退键,二是在桌面系统上显示后退键,三是在全平台上实现后退时的确认。 继续阅读“UWP后退功能处理”