解决Unity游戏开发使用Visual Studio Enterprise 2022提示未找到目标框架.net framework4.7.1问题

  • 软件安装使用过程
  • 问题排查
  • 解决方案总结


软件安装使用过程

采用Visual Studio Installer安装Visual Studio Enterprise 2022,安装中勾选游戏下Unity游戏开发。

目标架构未制定unity unity未安装项目的目标框架_c#


单个组件中确保勾选.NET Framework 4.7.1目标包

目标架构未制定unity unity未安装项目的目标框架_目标架构未制定unity_02


安装位置自定义修改至F盘后使用Visual Studio Enterprise 2022登录,在Unity设置使用Visual Studio Enterprise 2022并打开对应项目文件,提示未找到目标框架.net framework4.7.1。

问题排查

提示未找到目标框架.net framework4.7.1后尝试选项二跳转到官网进行下载安装开发工具包、中文包,并在系统程序和功能中能看到已安装的目标框架,重启再次尝试仍然提示未找到目标框架.net framework4.7.1。下载离线安装该框架开发工具包、目标包、语言包安装后,问题仍然未得到解决。

后续打开Visual Studio Enterprise 2022新建项目选择框架发现没有检测到任何之前已确定安装过的各版本框架,开始怀疑是否是框架安装路径问题。找到所有安装框架的位置,发现位于框架都在C:\Program Files (x86)\Reference Assemblies\Microsoft目录下,该目录下Framework内拥有之前安装的全部框架,的确包含4.7.1。

目标架构未制定unity unity未安装项目的目标框架_c#_03


随机联想到Visual Studio Enterprise 2022安装所在盘会不会也有类似目录,检查后确实有但是该目录下没有之前安装的任何目标框架,该目录下只有3.0及3.5框架。

怀疑Visual Studio Enterprise 2022检测的可能是该目录下存在的框架。

于是把C盘下

Framework目录整体复制到Visual Studio Enterprise 2022安装所在盘的Program Files (x86)\Reference Assemblies\Microsoft目录下,问题解决。

解决方案总结

如果用户自定义过Visual Studio Enterprise 2022安装路径且安装到非系统盘,同时已经安装了目标框架,可能是Visual Studio Enterprise 2022安装盘所在和.net framework4.7.1安装所在盘不一致,而Visual Studio Enterprise 2022框架检测目录在自身所在盘导致无法检测到框架而提示未找到目标框架。
框架默认安装在C盘,将C盘C:\Program Files (x86)\Reference Assemblies\Microsoft目录下Framework文件夹复制到Visual Studio Enterprise 2022所在盘同目录下,再次打开visual studio 2022即可正常载入项目不再提示,问题得到解决。
后续使用Visual Studio Installer安装其他的框架采用同样的操作即可正常使用。