我们有一个包含我们所有代码的visualstudio解决方案,它与我们的统一项目完全分离。当我们从 visualstudio 中将代码构建到 dll 中时,该 dll 被复制到统一项目的插件文件夹中,因此我们可以在统一项目中使用其中的类。
这一切都很好,但问题是当我们在我们的视觉工作室解决方案中重命名一个类,重建 dll 并返回统一项目时,对重命名类的引用在我们的场景和/或预制中丢失了......
我查看了场景和预制文件,注意到对 dll 中类的引用定义如下:
m_Script:{fileID:698634159,guid:aa20b9c3579870b40bb96d13672546a3,类型:3}
我在论坛上读到,fileID 是根据类文件的名称空间和名称生成的,所以从逻辑上讲,当类重命名时,这个 fileID 会发生变化,unity 不知道它需要引用重命名的类。
有没有办法定义某种硬引用,所以重命名类时引用不会丢失?或任何其他建议,以防止参考丢失。
我也尝试在 dll 中包含一个带有 guid 的元文件,但统一似乎没有考虑这个元文件,因为它总是使用 dll 的 guid 和生成的 fileId。