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 )

visual studio code 怎么用

visual studio code报错误怎么解决

visual studio code怎么新建vue工程

visual studio 和visual studio code 的区别

visual studio code怎么运行代码