首页 文章

VSCode不断要求我恢复

提问于
浏览
5

Windows 10上的VSCode 1.20.0,带有C#扩展名ms-vscode.csharp 1.14.0 . VSCode终端指向bash(适用于Linux的Windows子系统)VSCode在包含.NET CORE 2.0 C#项目的文件夹上打开

一切都很好,intellisense工作,项目参考被理解 .

每当我将焦点切换到VS Code终端并输入“dotnet build”或“dotnet test”时,VSCode就会感到困惑 . Red Squigglies强调每行源代码,intellisense停止工作,VSCode打开两个信息框说

Info: There are unresolved dependencies from src\Project.csproj. Please execute the restore command to continue. Info: There are unresolved dependencies from test\Project.Tests.csproj. Please execute the restore command to continue.

当我单击信息框内的“恢复”按钮时,大约15秒后项目再次工作 . 但为什么,这种情况一直在发生,我倾向于经常使用dotnet构建 . 我可以不同地配置VS代码以避免此问题吗?构建代码会破坏编辑器功能似乎不对,所以我必须做错事 .

EDIT:

这个问题似乎只有在WSL \ bash(无论是内部终端还是外部终端)中的情况下才会重现 . 当我在外部cmd.exe中构建或测试时,它似乎没有重现

EDIT:

cmd.exe dotnet --info

.NET命令行工具(2.1.4)

产品信息:版本:2.1.4提交SHA-1哈希:5e8add2190

运行时环境:操作系统名称:Windows操作系统版本:10.0.16299操作系统平台:Windows RID:win10-x64基本路径:C:\ Program Files \ dotnet \ sdk \ 2.1.4 \

Microsoft .NET核心共享框架主机

版本:2.0.5 Build :17373eb129b3b05aa18ece963f8795d65ef8ea54

WSL\bash $ dotnet --info

.NET命令行工具(2.0.3)

产品信息:版本:2.0.3提交SHA-1哈希:eb1d5ee318

运行时环境:操作系统名称:ubuntu操作系统版本:16.04操作系统平台:Linux RID:ubuntu.16.04-x64基本路径:/usr/share/dotnet/sdk/2.0.3/

Microsoft .NET核心共享框架主机

版本:2.0.3 Build:a9190d4a75f4a982ae4b4fa8d1a24526566c69df

1 回答

  • 1

    这可能发生的原因可能是因为VS Code正在使用在Windows上运行的Omnisharp - 当你使用Bash构建时,你正在为linux构建,因此在obj文件夹中的文件中生成的所有引用路径都将是linux路径,而不是Windows路径 .

    当Omnisharp在VS Code中查找intellisense的引用依赖项时,它无法找到它们,因此VS Code会要求您恢复项目 .

    您可以通过检查obj文件夹中的任何文件并查看路径来确认 .

相关问题