记录Unity中的坑

Unity虽然使用C#来进行开发,但是Unity所使用的运行时和.net的原生运行时却又差别,这导致在.net中的某些代码块在Unity中运行会出现错误。

Task

Unity中虽然支持 Task ,但如果在 Update 方法中使用了 Task,需要注意不能使用 Result 来进行同步获取,会导致Unity进程假死。

File

Unity 2020中可以指定项目版本为 .net standart 2.0,这可以让我们使用更高版本的C#进行开发,但是Unity的运行时却不一定保证能正确实现。

使用 File.Move 方法可以移动文件到一个新的地方,在 .net 中使用该方法,可以实现单文件程序自更新,这是因为Windows在运行时虽然不能删除文件,但是却可以移动文件,所以可以将旧文件移动或者重命名,然后写入新文件即可。

这一简单的行为在Unity 2020中不受支持,在移动程序所使用的文件时,会产生复制的效果,即源文件还留在原目录,但是新目录下也出现了源文件的拷贝。在Unity 2022中,指定项目版本为 .net standard 2.1 则没有这个问题。

发布时间:2024-05-13
其他阅读

Nginx配置反向代理和负载均衡

Nginx是一个流行的Web容器,作为服务的入口,使用反向代理和负载均衡,达到隐藏和保护内部服务安全的作用,本文会描述Nginx反向代理和负载均衡的配置。

查看原文

电脑版微信支持抢红包和发朋友圈了

微信迎来史诗级加强——支持抢红包,微信迎来史诗级加强——支持发布朋友圈。

查看原文

记录Unity中的坑

Unity虽然使用C#来进行开发,但是Unity所使用的运行时和.net的原生运行时却又差别,这导致在.net中的某些代码块在Unity中运行会出现错误。

查看原文

WPF使用云母材质

在最新的Windows 11 OS中,微软为流畅设计(Fluent Design)带来了新的云母材质,云母材质一种不透明的动态效果,微软将其作为Windows 11应用窗体的默认材质。

查看原文

C#桌面应用置顶

Winform和WPF开发中,有时会有需要置顶窗体的需求,本文就介绍怎么使用Win32API进行置顶

查看原文