VSCode搭配Unity 2021.3.9f1时无法识别.NET Framework求助
解决VSCode+Unity开发中OmniSharp找不到.NET Framework 4.7.1引用程序集的问题
问题场景
使用VSCode配合Unity 2021.3.9f1开发时,OmniSharp服务器启动后加载项目文件失败,报错找不到.NETFramework,Version=v4.7.1的引用程序集,即使已安装.NET Framework 4.7.1开发包、SDK 6.0.400及其他.NET Framework版本。
错误日志
2022年9月15日 09:27:31启动OmniSharp服务器 目标路径:c:\Users\TheDe\Yatopia OmniSharp服务器以.NET 6.0.400启动 路径:c:\Users\TheDe.vscode\extensions\ms-dotnettools.csharp-1.25.0-win32-x64.omnisharp\1.39.0-net6.0\OmniSharp.dll 进程ID:11032 在Windows 10.0.19044.0 (x64)上启动OmniSharp info: OmniSharp.Services.DotNetCliService 正在检查'DOTNET_ROOT'环境变量以查找.NET SDK info: OmniSharp.Services.DotNetCliService 使用PATH中的'dotnet' info: OmniSharp.Services.DotNetCliService DotNetPath设置为dotnet info: OmniSharp.MSBuild.Discovery.MSBuildLocator 找到1个MSBuild实例 1: .NET Core SDK 6.0.400 17.3.0 - "C:\Program Files\dotnet\sdk\6.0.400" info: OmniSharp.MSBuild.Discovery.MSBuildLocator 已注册MSBuild实例:.NET Core SDK 6.0.400 17.3.0 - "C:\Program Files\dotnet\sdk\6.0.400" info: OmniSharp.WorkspaceInitialize warn: OmniSharp.MSBuild.ProjectManager 加载项目文件'c:\Users\TheDe\Yatopia\Unity.VisualScripting.Shared.Editor.csproj'失败。 c:\Users\TheDe\Yatopia\Unity.VisualScripting.Shared.Editor.csproj C:\Program Files\dotnet\sdk\6.0.400\Microsoft.Common.CurrentVersion.targets(1220,5): 错误:找不到.NETFramework,Version=v4.7.1的引用程序集。要解决此问题,请安装该版本平台的开发包(SDK或目标包),或重新定位应用程序。.NET Framework开发包可从https://aka.ms/msbuild/developerpacks下载。
解决方案
确认.NET Framework 4.7.1引用程序集完整性
检查C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.7.1目录是否存在且文件完整。如果缺失,重新下载并安装.NET Framework 4.7.1开发包。指定OmniSharp使用.NET Framework版本的MSBuild
在VSCode中打开设置(快捷键Ctrl+,),搜索omnisharp.msbuild.path,手动设置为.NET Framework对应的MSBuild路径,例如:C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Current\Bin\MSBuild.exe(路径根据你安装的Visual Studio或Build Tools版本调整)
调整Unity项目的API兼容性设置
- 打开Unity编辑器,进入
Edit > Project Settings > Player > Other Settings > Configuration - 将
Api Compatibility Level设置为.NET Framework 4.x - 执行
Assets > Open C# Project,让Unity重新生成适配的项目配置文件
- 打开Unity编辑器,进入
清理OmniSharp缓存
关闭VSCode,删除%USERPROFILE%\.omnisharp目录下的缓存文件,重启VSCode后重新加载项目。
内容的提问来源于stack exchange,提问作者Deonix
相关产品推荐
相关产品推荐

