【发布时间】:2022-07-01 17:15:31
【问题描述】:
我正在尝试使用 Visual Studio 2022 打开从 Unity v2020.3.19f 项目生成的 C# 解决方案。使用 Visual Studio 2019 打开它可以正常工作,但我希望能够使用 v2022(例如 GitHub Copilot)打开它。我之前安装的 Windows 10 没有遇到此问题。
在 VS2022 中打开解决方案时,解决方案中的每个项目都会弹出以下提示:
选择第一个选项会将目标项目更新为 .NET Framework 4.8 并加载项目,但整个文件显示为红线。将鼠标悬停在带下划线的 bool 属性上时,错误显示为:`CS0518:未定义或导入预定义类型 'System.Boolean'。
选择第二个选项会在我的浏览器中打开 this URL,提示我安装 .NET Framework 4.7.1 目标包(已通过 Visual Studio 安装程序安装)。当我尝试安装 .NET Framework 4.7.1 runtime 时,安装程序会回复 .NET Framework 4.7.1 or a later update is already installed on this computer. 当我尝试安装 .NET Framework 4.7.1 Developer Pack 时,安装程序允许我从“修复”、“卸载”或“取消”中进行选择。修复没有效果。
我通过 Visual Studio 安装程序以通常的方式安装了两个版本的 Visual Studio(2019 和 2022),以及“使用 Unity 进行游戏开发”工作负载,这告诉我它已经安装了所有依赖项:
这是我迄今为止尝试过的:
- 通过 Visual Studio 安装程序卸载并重新安装所有版本的 Visual Studio
- 卸载并重新安装 Unity,并通过 Unity Hub 安装 Visual Studio 模块(这只会打开 Visual Studio 安装程序供我选择要安装的版本)
- 通过 Unity 编辑器重新生成项目文件
- 通过控制面板卸载对 .NET Framework 的所有引用
- 尝试从 Visual Studio 安装程序重新安装 .NET Framework 目标包 4.7.1,或通过 Microsoft SDK 网站从提示中手动重新安装
没有什么对我有用。非常感谢任何有关如何使 VS2022 停止抱怨的帮助。
更新 1:我发现了几个线程,人们建议只需在“编辑 -> 首选项 -> 外部工具”中按 Regenerate project files 按钮。这对我没有帮助。
更新 2:我已经尝试了所有我能想象到的东西,以不同的顺序和不同的组合。我什至重新安装了 Windows 10 无济于事。就像 Visual Studio 只是不想接受已安装 .NET Framework 4.7.1 目标包。请帮忙:(
【问题讨论】:
-
尝试删除项目文件夹中的
Assembly-CSharp.csproj,然后执行“重新生成项目文件”并将文件粘贴到本题中。 -
您是否安装了 sdk 本身?检查here。我会尝试安装缺少的特定的,如果这不起作用,也许有一些更高的版本......
标签: visual-studio unity3d visual-studio-2022