Visual Studio Code 1.50.1 缺少 Photon Pun 程序集参考
Posted
技术标签:
【中文标题】Visual Studio Code 1.50.1 缺少 Photon Pun 程序集参考【英文标题】:Missing Photon Pun assembly reference with Visual Studio Code 1.50.1 【发布时间】:2020-10-25 08:08:53 【问题描述】:我正在使用 C# 在 PC 上开发 Unity 游戏应用程序,并使用 Visual Studio Code 作为编辑器。这些应用程序针对 PC 和 android。多人游戏使用 Photon Pun 2。
Unity 版本是 2019.3.14F1 - 我不想继续前进,以防出现“意外问题”。
VS Code 版本是 1.48.3 - 一切都很好,没有编译错误,所有代码工作正常等等。
我愚蠢地接受了微软的建议更新 VSC,而 VS Code 到了 1.50.1。结果是 VS Code 中出现了与 Photon 代码相关的各种错误。所有这些错误都源于 'using Photon.Pun;
' 行。它说“命名空间‘Photon’中不存在类型或命名空间名称‘Pun’(您是否缺少程序集引用?)”。
然而,代码在 Unity 编辑器本身中没有出现任何编译错误,并且运行良好,包括 Photon 部分。问题出在 VS Code 中。
我意识到这几乎可以肯定是 VS Code 问题,而不是 Photon,但我想知道是否有人以前遇到过这个问题并且知道如何解决它?
(这就是我不想从 2019.3.14F1 转到 2020 的原因。现在无论如何——你永远不知道会发生什么)。
【问题讨论】:
【参考方案1】:我遇到了同样的问题。安装不同版本的 VS Code / VS Community Edition 并没有为我解决任何问题,但这确实:
在 VS Code 中打开项目,找到所有出现的
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
在*.csproj
文件中,并将它们替换为
<ReferenceOutputAssembly>true</ReferenceOutputAssembly>
【讨论】:
有趣。 13 个文件出现 49 次。我还没有尝试更改它们,因为 1.48.2 一切正常。那些行/文件是由 Unity 自动编写的?我想我需要找出他们做了什么以及哪些设置(如果有的话)控制真/假标志。 是的,.csproj
文件是由 Unity 生成的。您可以在首选项 -> 外部工具中强制重新生成它们。在这些文件中为其他库生成的条目引用了编译后的 DLL,而 Photon PUN 的东西只是资产存储在您的项目中转储的原始代码文件。我认为这是问题的原因。不过,我不确定为什么 Unity 会在未打开 ReferenceOutputAssembly
的情况下生成 Photon 引用。
我遇到过两次这个问题。您的解决方案对我有用两次。非常感谢@4026【参考方案2】:
尝试重建项目文件,切换到不同的编辑器(VS 社区版 2019 - 这很好),但没有区别 - VSC 仍然存在错误。其余的智能感知工作正常。
最后,完全卸载 VSC 并重新安装,这样就解决了。不知道真正的错误是什么。
【讨论】:
【参考方案3】:我错了。
今天,错误又回来了。
原因似乎是在尝试对此进行排序的过程中,我安装了 VS Community Edition 2019 以查看是否正常(确实如此)。然后回到VSC,而且 - 那也很好。后来我卸载了 VS Community Edition 2019(大约需要 4GB)。它正在卸载将错误带回 VSC 的内容。重装了VS Community Edition 2019,又好了。
所以,VS Community Edition 2019 安装了 VSC 需要的东西 - 但我还没有弄清楚它是什么。
更新:
放弃。从来没有设法找出 VSC 想要什么,没有得到什么。相反,重新安装旧版本的 VSC(来自 code.visualstudio.com/updates 的 1.48.2),一切正常。
【讨论】:
【参考方案4】:如果仍然存在此问题,您只需转到包管理器并安装“Visual Studio 编辑器包”即可修复它
windows>包管理器> Visual Studio 编辑器的所有包/或 Unity 注册表(取决于您的统一版本)搜索
如果已经安装,请删除并重新安装。
【讨论】:
发现这个:'问题是任何当前的 Mono 版本都不支持新的 .NET Core 3.1 SDK,所以设置“omnisharp.useGlobalMono”在 1.23 中已更改为“never” .1(参见更新日志github.com/OmniSharp/omnisharp-vscode/blob/master/…)。然而,这与基于 Mono 的开发不兼容,例如统一。在 VSC 中,转到文件 > 首选项 > 设置 > 扩展 > C# 配置。然后将“Omnisharp:使用全局单声道”更改为“始终”。我确实在 1.23.0 中发现没有问题,但是在 1.23.1 中出现了。【参考方案5】:解决了! 解决方案(这是一个 Unity 问题): 在 Unity 中,转到 Edit > Preferences > External Tools > External Script Editor,并将其指向 Visual Studio.. 为什么这么难找,我不知道。但现在我的 Photon 解决方案和命名空间正确地从 Unity 转移到 Visual Studio。哇!
还将脚本移动到光子脚本所在的位置
【讨论】:
【参考方案6】:卸载 Visual Studio 社区并重新安装最新的 VSC 2022。它将解决问题
【讨论】:
以上是关于Visual Studio Code 1.50.1 缺少 Photon Pun 程序集参考的主要内容,如果未能解决你的问题,请参考以下文章
开发环境安装 Visual Studio Code 开发环境 ( 下载 Visual Studio Code 安装器 | Visual Studio Code )