[英]Which assemblies will be recompiled if one script changed in Unity?
在Unity中,可以使用汇编来加速编译。
我曾经相信,如果一个脚本发生变化,只会重新编译包含它的程序集。
今天做了一些实验,发现不仅是containing assembly被重新编译了。
例如,Assembly-CSharp.dll 大部分时间都会重新编译。
假设脚本“a”属于程序集“A”。
根据我的实验,添加/删除公共字段或方法,引用“A”的程序集将被重新编译。 修改公共方法的内容不会导致重新编译引用程序集。 添加/删除/修改私有事物也不会导致重新编译引用程序集。
那么,如果我在 Unity 中更改一个脚本,哪些程序集将被重新编译?
有没有关于这方面的文章或书籍?
这都是关于依赖关系的。 Unity使用了c#,它使用了CSharpCompiler( 这里),你可以直接查阅MSDN来深入了解构建/编译过程。
有很多错综复杂的地方,但我会尝试解释基本情况,考虑到你有 2 个程序集 A 和 B
所以这个问题很快就会变得复杂,如果你有 5 个程序集,如果编译时间对你来说真的很重要,那么考虑构建代码是个好主意,这是一个很大的话题
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.