Olver_Kane 之前回复的帖子存在问题,此贴更正问题。
在Unity的 External Tools 中,Generate .csproj files for:
第 3 - 5 个选项分别为:
- Registry packages
- Git packages
- Build-in packages
如果勾选了其中的部分选项,可能会导致ET的"客户端编译"或"完整项目"缺少依赖项,编译不通过。
1.Build-in packages
我们启动Unity项目,“Open C# Project”(打开后可以关闭),打开"Client-Server.sln",
首先,我们需要编译"Client-Server/Client/Unity.Mono",
如果勾选了 “Build-in packages” 会导致编译 "Client-Server/Client/Unity.Mono"时出现依赖错误:
我们必须先编译"Client-Server/Client/Unity.Mono",完成客户端编译后,才能给"Client-Server"的编译提供临时依赖项。
结论:不能勾选"Build-in packages"。(经验性结论,有知道原因的大佬欢迎补充)
2.Registry packages
现在,我们取消勾选"Build-in packages"(本来没有勾选可以无视),
并且重启Unity项目,重新"Open C# Project"(重要)
打开"Client-Server.sln",同样,先编译"Client-Server/Client/Unity.Mono",
此时,我们发现"Client-Server/Client/Unity.Mono"可以编译通过了:
接下来应该编译完整解决方案"Client-Server",
如果勾选了 “Registry packages” ,会导致编译"Client-Server"时出现依赖错误:
虽然,"Client-Server/Client/Unity.Mono"可以编译通过,但是还是缺少了编译"Client-Server"所需要的
部分依赖项。
结论:不能勾选"Registry packages"。(经验性结论,有知道原因的大佬欢迎补充)
3.Git packages
现在,我们知道 1. 取消勾选"Build-in packages", 2. 取消勾选"Registry packages",
并且重启Unity项目,重新"Open C# Project"(重要)
如果勾选了 “Git packages”,
"Client-Server/Client/Unity.Mono"可以编译通过,
此时,我们发现"Client-Server"完整解决方案可以编译通过了:
结论:勾选"Git packages",目前经验来看,不影响ET框架编译。根据自己需求是否勾选。
总结:
- 勾选了 “Build-in packages” 会导致编译 "Client-Server/Client/Unity.Mono"时出现依赖错误
- 勾选了 “Registry packages” ,会导致编译"Client-Server"时出现依赖错误:
- 勾选"Git packages",目前经验来看,不影响ET框架编译。
以上均为经验性结论,有知道原因的大佬欢迎补充。