重命名外部dll中的类,而不会在unityEditor中丢失对它的引用

前端之家收集整理的这篇文章主要介绍了重命名外部dll中的类,而不会在unityEditor中丢失对它的引用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我们有一个visualstudio解决方案,里面包含我们所有的代码,它与我们的统一项目完全分开.
当我们从visualstudio中将代码构建到dll中时,dll将被复制到unity项目插件文件夹中,因此我们可以在Unity项目中使用它们中的类.

这一切都很好,但问题是当我们在visual studio解决方案中重命名一个类,重建dll并返回到unity项目时,在我们的场景和/或预制件中丢失了对重命名类的引用…

我调查了现场&预制文件并注意到对dll中类的引用定义如下:

m_Script:{fileID:698634159,guid:aa20b9c3579870b40bb96d13672546a3,type:3}

我在论坛上看到,fileID是根据命名空间和&amp ;;类文件名称,因此逻辑上重命名类时,此fileID更改并且unity不知道它需要引用重命名的类.

有没有办法定义某种硬引用,所以在重命名类时引用不会丢失?或任何其他建议,以防止引用丢失.

我也尝试在dll中包含一个带有guid的元文件,但是Unity似乎没有考虑这个元文件,因为它总是使用dll的guid和生成的fileId.

解决方法

Unity无法自动发现你已经在DLL中重命名了一些类.对于任何形式的项目都是如此:如果依赖于某些DLL,并且DLL中的类发生了更改,则没有重命名的迹象.

链接它们的最佳方法是在解决方案中添加Unity项目,并在Unity项目和另一个项目之间放置一个依赖项.然后,重构工具可能会建议您在Unity项目中重命名.

猜你在找的Windows相关文章