yuyang9119 / UnityAssetStoreSupport

If you run into any issues using my assets, please submit feedback here.
4 stars 0 forks source link

请问用什么方式可以正确的设置TweenPlayer程序集引用呢. #30

Open corpvs2 opened 2 months ago

corpvs2 commented 2 months ago

你好, 请问一下TweenPlayer如何配置正确的程序集引用呢?

现在TweenPlayer的程序集是统一都打包到Assembly-CSharp-firstpass这个DLL里面的. 我在Assets/Script目录下的带有amsdef文件的脚本,没法引用UnityExtensions.Tween;

我使用了很多第三方的插件,并且配置了程序集,但似乎只有TweenPlayer遇到了这个问题.

我尝试给TweenPlayer创建了.amsdef程序集文件,但是似乎有很多交叉的引用. 1.我给每一个目录,分别创建了Editor与,Runtime的程序集但似乎,不行. 2,我尝试把TweenPlayer代码放到Scripts目录下---并且设置了Mathematics引用,和Tmpro的引用,但运行时依然会报错. 3.我尝试给TweenPlayer目录指定一个程序集,然后所有Editor目录全部共用一个程序集,似乎也不行.

如果有什么建议请告诉一下感谢!

corpvs2 commented 2 months ago

找到方法了,应该是把TweenPlayer的目录下添加一个Assembly Definition References文件,并在Scripts中设置,引用Mathematics引用,和Tmpro的引用,---不报错了,我还在继续查看

yuyang9119 commented 1 month ago

Plugins 目录是 Unity 为插件设计的专用目录,会编译到 Assembly-CSharp-firstpass 里,用户自定义的 asmdef 目前似乎无法引用 Assembly-CSharp-firstpass。 一个解决方案是,你可以把 Unity Extensions 目录从 Plugins 中移出来,然后给它加上 asmdef。但这样会导致已经存储的数据里的动画 missing type,你需要用文本编辑器打开所有用到 TweenPlayer 的文件(.prefab & .unity)手动修复 assembly 名字。插件里自带的示例也会 missing type。 修复方式是,查找“ns: UnityExtensions.Tween, asm: Assembly-CSharp-firstpass”,替换为“ns: UnityExtensions.Tween, asm: NewAssemblyName”,NewAssemblyName 是你为 Unity Extensions 创建的 asmdef 文件名。

corpvs2 commented 1 month ago

好的,谢谢我去试一试