Как исправить сломанную установку .NET 7.0/8.0 (SDK) в LinuxC#

Место общения программистов C#
Ответить
Anonymous
 Как исправить сломанную установку .NET 7.0/8.0 (SDK) в Linux

Сообщение Anonymous »

До недавнего времени на моем компьютере с Linux была установлена ​​.NET 7.x. У меня все работало нормально, я создавал и запускал проекты .NET (в частности, C#), устанавливал инструменты dotnet (Husky.NET, управление версиями и т. д.).
Я решил обновиться до .NET 8.0, чтобы посмотреть, в чем дело, но почему-то моя установка не сработала полностью (возможно, потому, что моя версия дистрибутива не поддерживала его, а .NET 8 все еще горяча от духовки). После этого я выполнил ряд беспорядочных действий, пытаясь сохранить предыдущую настройку.
Некоторые действия, которые я сделал, пытаясь решить проблему:
  • Удалил .NET 8.
  • Установил .NET 8. вручную с помощью сценария dotnet-install.sh.
  • Удалил .NET 8 еще раз, а затем .NET. 7.0 после этого
  • Вручную удалил контент из любого места, где установлены файлы dotnet SDK (

    Код: Выделить всё

    ~/.dotnet
    , /usr/lib/dotnet/, /usr/share/dotnet, /usr/bin/dotnet символическая ссылка)
  • Переустановил .NET 7.0 с использованием репозитория пакетов Microsoft (думаю, я даже пробовал использовать пакеты репозитория Ubuntu)
Вот несколько команд для устранения неполадок, чтобы оценить текущий состояние моей конфигурации.

Код: Выделить всё

$ whereis dotnet
dotnet: /usr/bin/dotnet /usr/lib/dotnet /etc/dotnet /usr/share/dotnet /usr/share/man/man1/dotnet.1.gz

Код: Выделить всё

$ which dotnet
/usr/bin/dotnet

Код: Выделить всё

$ dotnet
Usage: dotnet [options]
Usage: dotnet [path-to-application]

Options:
-h|--help         Display help.
--info            Display .NET information.
--list-sdks       Display the installed SDKs.
--list-runtimes   Display the installed runtimes.

path-to-application:
The path to an application .dll file to execute.
А теперь самое странное.
Не удалось получить версию .NET:

Код: Выделить всё

$ dotnet --version
The command could not be loaded, possibly because:
* You intended to execute a .NET application:
The application '--version' does not exist.
* You intended to execute a .NET SDK command:
No .NET SDKs were found.

Download a .NET SDK:
https://aka.ms/dotnet/download

Learn about SDK resolution:
https://aka.ms/dotnet/sdk-not-found
Отображение информации .NET:

Код: Выделить всё

$ dotnet --info
Host:
Version:      7.0.14
Architecture: x64
Commit:       808851b07a

.NET SDKs installed:
No SDKs were found.

.NET runtimes installed:
Microsoft.AspNetCore.App 7.0.14 [/usr/lib/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 7.0.14 [/usr/lib/dotnet/shared/Microsoft.NETCore.App]

Other architectures found:
None

Environment variables:
Not set

global.json file:
Not found

Learn more:
https://aka.ms/dotnet/info

Download .NET:
https://aka.ms/dotnet/download
Для SDK ничего не указано:

Код: Выделить всё

$ dotnet --list-sdks
Я вижу в списке несколько сред выполнения:

Код: Выделить всё

dotnet --list-runtimes
Microsoft.AspNetCore.App 7.0.14 [/usr/lib/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 7.0.14 [/usr/lib/dotnet/shared/Microsoft.NETCore.App]
Сборка решения/проекта завершается неудачно с тем же сообщением, что и раньше:

Код: Выделить всё

$ dotnet build
The command could not be loaded, possibly because:
* You intended to execute a .NET application:
The application 'build' does not exist.
* You intended to execute a .NET SDK command:
No .NET SDKs were found.

Download a .NET SDK:
https://aka.ms/dotnet/download

Learn about SDK resolution:
https://aka.ms/dotnet/sdk-not-found
  • Что мне здесь не хватает?
  • Есть ли какие-либо конкретные сведения о том, как и где развертываются установочные файлы .NET SDK, которые могут пролить свет на эту проблему?
  • Есть ли другие действия по устранению неполадок, которые могут быть здесь полезны?
Дополнительные сведения:
  • ОС: Pop!_OS 22.04 ЛТС x86_64


Подробнее здесь: https://stackoverflow.com/questions/775 ... l-on-linux
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»