VMware Workstation 与 Device/Credential Guard 不兼容。在禁用 Device/Credential Guard 后,可以运行 VMware Workstation 2020-06-10 00:58 VMware Workstation 与 Device/Credential Guard 不兼容。在禁用 Device/Credential Guard 后,可以运行 VMware Workstation。有关更多详细信息,请访问 http://www.vmware.com/go/turnoff_CG_DG。
拿别人的 Program Files 文件夹?别忘了考虑 x86/x64 路径 2020-06-03 00:13 要拿适用于自己进程的 Program Files 文件夹很简单,无脑拿就好了。不过,如果涉及到拿其他程序的,那么就会涉及到与其他程序不同架构时路径不同的问题。
在 .NET 对象和 JSON 互相序列化的时候,枚举类型如何设置成字符串序列化,而不是整型? 2020-06-02 23:57 默认情况下,Newtonsoft.Json 库序列化和反序列化 JSON 到 .NET 类型的时候,对于枚举值,使用的是整数。然而,在公开 JSON 格式的 API 时,整数会让 API 不易于理解,也不利于扩展和兼容。
如何在保留原本所有样式/绑定和用户设置值的情况下,设置和还原 WPF 依赖项属性的值 2020-06-02 23:13 WPF 备份某控件的一些属性,做一些神奇的操作,然后再还原这些属性。多么司空见惯的操作呀!然而怎么备份却是值得研究的问题。直接赋值?那一定是因为你没踩到一些坑。
Unity3D 入门:如何管理 Unity 项目中的 NuGet 包?使用第三方 NuGet 包管理器——NuGetForUnity 2020-06-01 01:21 Unity 项目虽然可使用 C# 项目作为脚本,却并没有提供一种类似 NuGet 的第一方包管理器。不过,还是有第三方包管理器可以用,为 C# 脚本应用现有的库提供方便。
Unity3D 入门:Unity 项目版本管理建议使用的 .gitignore 忽略文件和 .gitattributes 文件(2020年4月更新) 2020-06-01 01:21 Unity3D 项目虽然说使用 C# 脚本开发,但毕竟不是 .NET/C# 项目。今天一位小伙伴告诉我说用错了 .gitignore 文件,结果管理仓库时丢了很多重要的文件。
解决包含 GitHub Actions Workflow 的分支无法推送的问题 2020-05-26 13:48 refusing to allow an OAuth App to create or update workflow {0} without workflow scope. GitHub 推送失败?试试本文方法。
杂谈 System.Drawing.Common 的跨平台性(关键词:libgdiplus / .NET Core / Mono / Win32 / Linux / ……) 2020-05-25 01:00 经过 Mono 团队的不懈努力,原本专属于 Win32 平台的 GDI+ 终于可以跨平台了,不过这中间还有好多的故事和好多的坑。 本文带你了解 System.Drawing 命名空间的跨平台。
微软官方的 NuGet 包是如何做到同时兼容新旧框架的?例如 System.ValueTuple 是如何做到在新旧版本的框架都能使用的? 2020-05-24 08:27 不知你是否好奇,System.ValueTuple 是新框架(.NET Core 3.0)开始引入的类型,但可以通过 NuGet 包向旧框架提供这些类型的使用。并且,这些包即便安装到本来就有此类型的新框架上也能正常运行而不会出现多处类型定义的问题。 这些类型是如何做到框架内定义了,包里也定义了,却能像同一个类型一样作为参数和返回值传递?本文带你了解其中的奥秘。
Unity3D (Mono/IL2CPP) 中 P/Invoke 平台调用代码应该如何传委托 2020-05-24 02:21 IL2CPP does not support marshaling delegates that point to instance methods to native code. 你可能平时在 .NET Core / Framework 的代码中写得很正常的托管代码的委托调用,在 Unity3D 中变得不可行。 本文举个例子,并且将其改正。
Windows/Linux 系统中获取端口被哪个应用程序占用 2020-05-23 12:21 管理服务程序的时候,可能会查询某个端口当前被哪个进程占用。不仅能找出有问题的进程将其处理掉,也可以用来辅助检查某个程序是否开启了服务并在监听端口。
Unity3D 入门:如何为游戏添加 UI 2020-05-23 07:21 早期的 Unity3D 做 UI 并不容易,以至于大家习惯于使用 NGUI 插件来开发。后来 NGUI 的开发者加入开发了 Unity UI,现在就有了一套更好用的 Unity UI 可用了。 本文简单介绍如何添加 UI 作为入门,不会深入介绍各种 UI 和细节。
Unity3D 入门:为 Unity 的 C# 项目添加 dll 引用或安装 NuGet 包 2020-05-23 06:38 因为 Visual Studio 有强大的包管理器插件,所以即便是不熟悉 NuGet 命令的小伙伴也能轻松安装和管理 NuGet 包。不过,对 Unity C# 项目来说,你并不能直接引用 dll,也不能直接使用自带的 NuGet 包管理器完成 NuGet 包安装。 本文介绍原因和真正的引用方法。
Win32/C# 应用使用 PrintWindow 对窗口截图(PrintWindow) 2020-05-23 06:32 相比于 Windows 2000 引入到 GDI+ 中的 BitBlt 方法截取窗口图片,Windows XP 时也引入了 PrintWindow 方法来专门截取窗口,截取的原理也不同。 微软 Office 系列里的截取窗口,用的就是 PrintWindow 方法。
Win32/C# 应用不依赖任何库使用纯 GDI+ 对窗口截图(BitBlt) 2020-05-23 05:52 在 Windows 上有 GDI+ 来操作位图,不止能完成很多的位图操作,还提供了与 Win32 窗口的互操作,可以截到 Win32 窗口的图片。 如果你希望对窗口截图,那么可使用本文提供的方法。
Win32/C# 应用使用 GDI+ 对窗口截图(BitBlt) 2020-05-23 05:52 在 Windows 上有 GDI+ 来操作位图,不止能完成很多的位图操作,还提供了与 Win32 窗口的互操作,可以截到 Win32 窗口的图片。 如果你希望对窗口截图,那么可使用本文提供的方法。
提高使用 Visual Studio 开发效率的键盘快捷键 2020-05-23 03:25 Visual Studio 的功能可谓真是丰富,再配合各种各样神奇强大的插件,Visual Studio 作为太阳系最强大的 IDE 名副其实。 如果你能充分利用起 Visual Studio 启用这些功能的快捷键,那么效率也会很高。
.NET Framework 和 .NET Core 在默认情况下垃圾回收(GC)机制的不同(局部变量部分) 2020-05-15 13:50 垃圾回收机制有一些未定义部分,一般来说不要依赖于这些未定义部分编程,否则容易出现一些诡异的 bug 或者不稳定的现象。 本文介绍局部变量这部分的细节,而这点在 .NET Framework 和 .NET Core 默认情况下的表现有差别。
在制作多框架项目的 NuGet 包时应该注意的问题(buildMultiTargeting/TargetFrameworks) 2020-05-15 06:23 制作一个 dll 引用的 NuGet 包简直是一键完成,无论是不是多框架项目;制作 dotnet-tools 也是如此。但如果需要自定义一些编译步骤,那么就需要在制作 NuGet 包时做很多的特殊处理了。 本文介绍制作适用于多框架项目的 NuGet 工具包时应该注意的问题。
Unity3D 入门:如何在脚本中找到游戏对象的父子级/祖孙级对象和它们的组件 2020-05-10 07:34 在真正能玩的游戏场景中,很多脚本的执行是在不确定的游戏对象上进项的,于是会考虑在父对象或者子对象上去写脚本。这时,可能需要查找游戏对象。那么如何在脚本中找到父子游戏对象(gameObject)呢?
WPF 中使用附加属性,将任意 UI 元素或控件裁剪成圆形(椭圆) 2020-05-06 00:15 不知从什么时候开始,头像流行使用圆形了,于是各个平台开始追逐显示圆形裁剪图像的技术。WPF 作为一个优秀的 UI 框架,当然有其内建的机制支持这种圆形裁剪。 不过,内建的机制仅支持画刷,而如果被裁剪的元素支持交互,或者拥有普通画刷无法达到的显示效果,那么就需要本文介绍的更加通用的解决方法了。
快速在 Windows 上搭建 Jekyll 开发环境 2020-05-06 00:13 Jekyll 是一个不错的静态博客工具,本文将提供快速在 Windows 系统上搭建 Jekyll 开发环境的方法。