6

我正在使用 Visual Studio 代码。在我的机器上,我有两个单独的 Net Core SDK / dotnet CLI 工具安装;标准路径 (%ProgramFiles%\dotnet) 中的过时版本 (netcore 1.1);以及安装到不同的自定义路径 (%AppData%...) 的最新版本 (netcore 2.0)

我需要 Visual Studio Core - 从而需要 Omnisharp - 来使用最近的,即自定义安装。不幸的是,由于我的机器设置,默认的“dotnet”命令注册了过时的安装,我无法更改它。Omnisharp 也在同一位置使用 SDK。

现在,非管理员用户有什么方法可以在 Visual Studio Code / Omnisharp 中指定从我的自定义位置使用 dotnet 工具?任何特定的配置设置或类似设置?


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

谢谢

4

2 回答 2

2

遵循 Bogey 2018-02-16 的领导,并按照https://docs.microsoft.com/en-us/dotnet/core/install/windows?tabs=netcore31#download-and-manually-install手动安装 SDK ,当我在https://docs.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

但是,在启动代码之前,我在其中设置了 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

然后打开 Visual Studio Code,我可以在 Code 的终端中确认 PATH 变量的值

$env:path

并成功运行类似的命令

dotnet --help

谢谢你的提示,柏忌。

于 2020-07-18T13:32:48.230 回答
2

现在找到了一些解决方法,我创建了一个 bat 来启动 Visual Studio Code,在其中我在执行时覆盖了 PATH 环境变量并删除了过时的路径。

这现在对我有用,但如果有更好的解决方案,例如 OmniSharp 的直接配置等,我会保持打开状态

于 2018-02-16T16:48:10.540 回答