VS Code / OmniSharp - 如何显式设置 dotnet SDK / CLI 工具的路径

Bog*_*gey 12 c# omnisharp .net-core visual-studio-code

我正在使用 Visual Studio 代码。在我的计算机上,我有两个单独安装的 Net Core SDK/dotnet CLI 工具

  • 标准路径中的过时版本 (netcore 1.1)%ProgramFiles%\dotnet和
  • 安装到不同的自定义路径的最新版本(netcore 2.0)%AppData%\...

我需要 Visual Studio Core - 以及 Omnisharp - 才能使用最新的(即自定义安装)。不幸的是,由于我的机器设置,默认的“dotnet”命令是在过时的安装中注册的,我无法更改它。Omnisharp 也在同一位置使用 SDK。

  1. 有没有办法让非管理员用户在 Visual Studio Code / Omnisharp 中指定从我的自定义位置使用 dotnet 工具?
  2. 有什么特定的配置设置或类似的吗?

对于上下文,至于为什么我的机器有如此奇怪的设置以及为什么我对此无能为力,请参阅Cmd 优先级:如何在安装在 2 个位置时使用正确的 dotnet.exe?

谢谢

use*_*469 3

遵循 Bogey 2018 年 2 月 16 日的领先,并按照https://learn.microsoft.com/en-us/dotnet/core/install/windows?tabs=netcore31#download-and-manually-install手动安装 SDK 后,当我遵循https://learn.microsoft.com/en-us/dotnet/core/tutorials/with-visual-studio-code上的教程时,我不断收到弹出消息或在 Visual Studio Code 的终端中显示消息就像是

It was not possible to find any installed .NET Core SDKs
Did you mean to run .NET Core SDK commands? Install a .NET Core SDK from:
      https://aka.ms/dotnet-download
Run Code Online (Sandbox Code Playgroud)

但是,通过在启动代码之前设置 PATH 环境变量的批处理文件,我能够dotnet new console成功运行教程中的命令,例如 。

我创建的批处理文件将 PATH 设置为通常的路径(即,通过在echo %PATH%命令提示符下运行显示),但删除了对我未手动安装的 SDK 的引用,并添加了对我手动安装的 SDK 的引用。大致:

set PATH=C:\Program Files (x86)\various\things;C:\WINDOWS\other\things;C:\Users\user1930469\AppData\Local\Programs\Microsoft VS Code\bin;C:\Users\user1930469\my_manually_installed_sdk\dotnet
start "" "C:\Users\user1930469\AppData\Local\Programs\Microsoft VS Code\Code.exe"
exit
Run Code Online (Sandbox Code Playgroud)

然后打开 Visual Studio Code,我可以使用以下命令确认 Code 终端中 PATH 变量的值

$env:path
Run Code Online (Sandbox Code Playgroud)

并成功运行命令,如

dotnet --help
Run Code Online (Sandbox Code Playgroud)

谢谢你的提示,柏忌。