Intellisense 在 VSCode 中不起作用 - OmniSharp 错误

Leo*_*unt 2 c# msbuild unity-game-engine omnisharp visual-studio-code

Intellisense 已停止为我工作,每当我运行 VSCode 时,OmniSharp 日志中都会出现此错误。

[warn]: OmniSharp.MSBuild.ProjectManager
        Failed to load project file '/Users/leogaunt/Documents/Programming/Unity/Cube Stack/Assembly-CSharp.csproj'.
/Users/leogaunt/Documents/Programming/Unity/Cube Stack/Assembly-CSharp.csproj
/Users/leogaunt/.vscode/extensions/ms-dotnettools.csharp-1.23.1/.omnisharp/1.37.0/omnisharp/.msbuild/Current/Bin/Microsoft.Common.CurrentVersion.targets(1178,5): Error: The reference assemblies for .NETFramework,Version=v4.7.1 were not found. To resolve this, install the Developer Pack (SDK/Targeting Pack) for this framework version or retarget your application. You can download .NET Framework Developer Packs at https://aka.ms/msbuild/developerpacks

[fail]: OmniSharp.MSBuild.ProjectManager
        Attempted to update project that is not loaded: /Users/leogaunt/Documents/Programming/Unity/Cube Stack/Assembly-CSharp.csproj
Run Code Online (Sandbox Code Playgroud)

我试过重新安装插件,并重新安装 VSCode,但没有奏效。

我知道我安装了 .NET Core,因为我是 Mac 用户,我知道这一点,因为当我输入dotnet --version终端时,它会输出:

3.1.401

我正在 Unity 中编程并且正在为 iOS 创建游戏。

Leo*_*unt 10

在 C# 扩展配置中将单声道路径更改为始终。


Eag*_*nir 9

对于使用 VSCode v1.67.2 dotnet v3.xx 和 OmniSharp v1.25.0(或 v1.23.17 及更高版本)的任何人。

上述接受的答案并没有解决问题。

最简单的方法是降级 ms-dotnettools.csharp(C# 扩展),唯一的问题是,如果您降级到 v1.23.16 以上的任何版本,它会给您“无法安装‘ms-dotnettools.csharp’扩展,因为它是与当前版本的 Visual Studio Code(版本 1.67.2)不兼容”

我建议降级到1.23.16版本,然后重启vscode。

您的智能感知应该开始工作。

我的环境
dotnet v3.1.417
VSCode v1.67.2
C# 扩展 v1.25.0(现已降级至 v1.23.16)
在 Mac 主机上的远程容器中运行。

是的,我使用的是 3 年以上的 dotnet 版本。这是一个遗留软件,碰巧,每个人的系统中都有骨架;)


Mad*_*ora 7

编辑:最新版本

  1. 确保您已安装Mono链接到 Mono
  2. 确保您已安装.Net sdk链接到 .Net SDK
  3. 打开 VS 代码
  4. 进入设置
  5. 搜索并勾选 useOmnisharp
  6. 搜索并取消勾选 useModernNet