通过MSBuild任务自动复制DLL文件

在Visual Studio中使用第三方库的时候,若第三方库没有通过NuGet分发,则通常需要自行将DLL文件复制到生成目录才能正常运行程序。通过将文件直接包含到项目中可以自动完成该任务,但会在解决方案资源管理器中看到大量DLL文件。本文介绍一种方法,通过在MSBuild文件(csproj、vcxprj等)中添加目标和任务,实现生成时自动将DLL文件复制到生成目录。

继续阅读“通过MSBuild任务自动复制DLL文件”

使用Visual Studio调试闪退问题

编写.NET或UWP软件时,Visual Studio是常用的的调试工具之一。其监视、调用堆栈等功能在对程序逻辑进行查错时十分有用。但如果软件在Visual Studio中启动时一切正常,在别的地方启动(比如后台任务、文件打开甚至在其他电脑上使用时)时却发生闪退,该如何进行调试呢?本文介绍如何创建内存转储文件(Dump)并使用Visual Studio进行“事后调试”,以实现对闪退故障的调试。

继续阅读“使用Visual Studio调试闪退问题”

自动清理NuGet全局包目录

编写UWP和.NET Core项目时,少不了与NuGet包管理器打交道。长久以往,你有没有注意到,你的磁盘空间已经被NuGet全局包目录不断侵蚀?NuGet全局包目录默认位于“%USERPROFILE%/.nuget”路径中,所有UWP和.NET项目中安装过NuGet包都会保存在该目录中。很遗憾,目前NuGet并没有任何清理该目录的功能,随着时间的流逝,这个目录占据10GB以上空间并不稀奇。

继续阅读“自动清理NuGet全局包目录”

解决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

继续阅读“解决Entity Framework Core 2.0命令行工具与UWP不兼容的问题”