我正在使用Visual Studio Code。在我的机器上,我有两个单独安装的Net Core SDK / dotnet CLI工具; 标准路径中的过时版本(netcore 1.1)(%ProgramFiles%\ dotnet);和最新版本(netcore 2.0)安装到不同的自定义路径(%AppData%...)
我需要Visual Studio Core - 从而使Omnisharp - 使用最近的,即自定义安装。不幸的是,由于我的机器设置,默认的“dotnet”命令在过期安装中注册,我无法更改。 Omnisharp也在同一个位置使用SDK。
现在,有没有办法让非管理员用户在Visual Studio Code / Omnisharp中指定使用我自定义位置的dotnet工具?任何特定的配置设置或类似设置?
对于上下文,至于为什么我的机器有如此奇怪的设置以及为什么我不能做很多事情,请参阅Cmd precedence: How to use correct dotnet.exe when installed in 2 locations?
由于
答案 0 :(得分:1)
现在找到了一些解决方法,我已经创建了一个启动Visual Studio Code的bat,我在执行时覆盖了PATH环境变量并删除了过时的路径。
现在这对我有用,但是如果有更好的解决方案,例如OmniSharp的直接配置或者这样的
,我会保持开放状态。答案 1 :(得分:1)
在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中代码的终端说类似
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
感谢小费,柏忌。