加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

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

发布时间:2020-12-14 05:43:35 所属栏目:Windows 来源:网络整理
导读:我们有一个visualstudio解决方案,里面包含我们所有的代码,它与我们的统一项目完全分开. 当我们从visualstudio中将代码构建到dll中时,dll将被复制到unity项目插件文件夹中,因此我们可以在Unity项目中使用它们中的类. 这一切都很好,但问题是当我们在visual stu
我们有一个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项目中重命名.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读