记录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
其他阅读

WPF中开启虚拟化提高性能

WPF(Windows Presentation Foundation)是一个强大的框架,它能创建高度响应和美观的桌面应用程序。然而,当处理大量数据时,性能问题可能变得显著。为了解决这些问题,我们可以利用虚拟化来提升WPF应用的性能。

查看原文

Linux查看版本信息

介绍几种查看 Linux 版本的方法,方便在使用 Linux 时快速定位自己的系统版本,使用合适的工具。

查看原文

HTTP状态码

HTTP状态码为客户端提供了一种理解事务处理结果的边界方式。本文列出一些原因短语,所使用的是HTTP/1.1规范所定义的。

查看原文

Windows的刘海生成器

其实是很早之前在论坛讨论当时苹果率先推出了带刘海的 mac book pro 的时候,就花了几分钟做了一个模拟刘海的软件,可以给 Windows 系统加上刘海。

查看原文

WPF打包成单文件

在开发WPF程序时,有时我们需要把整个软件打包成一个文件,这样可以方便分发,本文将会介绍怎么把WPF打包成单文件形式。

查看原文