Переключение между версиями Dotnet Core SDK

Я недавно установил VS 2017 RC, а затем автоматически указала на мою версию dotnet 1.0.0-preview4-004233, Благодаря этому, когда я создаю новый проект с помощью команды dotnet new -t Console Я не вижу project.json хотя я вижу .csproj файл.

Когда я проверяю версии dotnet, доступные на моей машине по адресу - C:\Program Files\dotnet\sdk Я вижу несколько доступных версий.

Есть ли способ переключить ядро ​​dotnet обратно на более раннюю версию - 1.0.0-preview2-003133 от 1.0.0-preview4-004233 без удаления.

6 ответов

Решение

Использование sdk раздел в global.json: Dotnet CLI ищет его в корневой папке проекта.

  • Создайте новую пустую папку, куда вы собираетесь запускать dotnet new
  • добавлять global.json файл со следующим содержанием:

    {
       "sdk": { "version": "1.0.0-preview2-003133" }
    }
    

    Обратите внимание, что SDK с этой версией должен быть уже установлен на вашем компьютере.

  • открыть терминал и перейти в созданную папку
  • проверьте, что версия SDK включена dotnet --info, Тебе следует увидеть:

    Product Information:
    Version:            1.0.0-preview2-003133
    
  • бежать dotnet new команда

Dotnet обычно использует последнюю версию SDK, если не находит файл global.json, в котором указано иное. Объяснение от Microsoft

dotnet ищет файл в рабочем каталоге (не обязательно в каталоге проекта или решения), и, если не может найти его, начинает поиск оттуда вверх. документация

Простой способ создать файл global.json - запустить dotnet new globaljson --sdk-version 1.0.0-preview2-003133в каталоге вашего проекта. создать global.json из cli

Когда мы устанавливаем каждый SDK dotnet core в ОС, каждый проект может использовать версию SDK отдельно. Поскольку SDK имеет глобальную установку. Мы можем настроить параметры каждого проекта, создав с помощью этой команды:

      dotnet new globaljson

и, наконец, выбрал правильную версию.

Процесс выбора версии SDK:

  • ищет файл итеративно в обратном направлении по пути вверх от текущего рабочего каталога.
  • использует SDK, указанный в первом найденном.
  • dotnetиспользует последний установленный SDK, если нет global.jsonнайден.

Ссылки: https://docs.microsoft.com/en-us/dotnet/core/tools/global-json?tabs=netcore3x#globaljson-and-the-net-core-cli

Шаг за шагом: /questions/6361705/pereklyuchenie-mezhdu-versiyami-dotnet-core-sdk/6361709#6361709

Если вы хотите создать новый проект, используя определенную версию, вы можете перейти в этот каталог «C:\Program Files\dotnet\sdk», а затем добавить подчеркивание к более новой версии (всем) dotnet, которая вам не нужна ( достаточно только более новых) затем создайте свой проект.

Вы можете проверить в global.json

Запустите команду dotnet --list-sdks

Вы увидите результаты

2.2.110 [C:\Program Files\dotnet\sdk]5.0.103 [C:\Program Files\dotnet\sdk]

Только для Ubuntu (например: принудительно установить версию 6.0 вместо 7.0):

      wget https://dot.net/v1/dotnet-install.sh
chmod +x dotnet-install.sh
./dotnet-install.sh --channel 6.0
mv ~/.dotnet/sdk/7.0.200/ /tmp/unusedDotnetVersion # Manually remove other dotnet versions
Другие вопросы по тегам