Обновлено до 24.04.1 – dotnet core установлен, но не собирается, почему?

Вопрос или проблема

Я только что обновился до версии 24.04.1 и заметил, что она удаляет много пакетов (старые версии dotnet core 6,7).

У меня установлен dotnet core 8.x, он работает и позволяет мне перечислять sdks и runtimes.

  • 8.0.110 [/usr/lib/dotnet/sdk]
  • Microsoft.AspNetCore.App 8.0.10 [/usr/lib/dotnet/shared/Microsoft.AspNetCore.App]
  • Microsoft.NETCore.App 8.0.10
    [/usr/lib/dotnet/shared/Microsoft.NETCore.App]

Однако, когда я пытаюсь создать простой .net core webapi, я получаю следующую ошибку:

ошибка NU1101: Не удается найти пакет
Microsoft.NETCore.App.Host.ubuntu.24.04-x64. Пакеты с
этим идентификатором не существуют в источниках: nuget.org

Что это значит? Как мне это решить?

Когда я искал в интернете, я нашел только неопределенный ответ для .NET Core 6.x. Но, к счастью, кто-то недавно разместил сообщение в этой теме в связи с 24.04.1 и .NET Core 8.x

Мне повезло, и я нашел ответ по адресу:
https://github.com/dotnet/sdk/issues/40676#issuecomment-2102017357

Удалите и установите заново

Ответ заключается в том, чтобы удалить (правильно) с помощью следующей команды (упомянутой по предыдущей ссылке):

sudo apt-get remove 'dotnet*' 'aspnet*' 'netstandard*'

Затем вернитесь и установите .net core снова.

Смотрите https://learn.microsoft.com/en-us/dotnet/core/install/linux-ubuntu-install?pivots=os-linux-ubuntu-2404&tabs=dotnet8 для этих шагов.

Это решает мою проблему.

Ответ или решение

Проблемы с установкой и сборкой .NET Core после обновления до Ubuntu 24.04.1

При обновлении до версии Ubuntu 24.04.1 у вас появилась проблема со сборкой приложения на .NET Core, что связано с недоступностью определённого пакета. Давайте подробно разберёмся с возникшей ситуацией и возможными решениями.

Проблема

Вы отметили, что после обновления были удалены старые версии .NET Core 6 и 7, оставив установленным только .NET Core 8.x. При попытке собрать простое веб-приложение вы столкнулись с ошибкой:

error NU1101: Unable to find package Microsoft.NETCore.App.Host.ubuntu.24.04-x64. No packages exist with this id in source(s): nuget.org

Эта ошибка указывает на то, что проект не может найти требуемый пакет для платформы Ubuntu 24.04.x в источниках, определённых в вашем проекте.

Причины проблемы

  1. Удаление старых версий: После обновления система очистила старые пакеты .NET, что могло привести к несовместимости с вашим проектом, если он ещё ссылается на старые версии пакетов.

  2. Неправильные источники NuGet: Возможны случаи, когда используемые вами источники для NuGet не включают все необходимые пакеты для сборки под новую версию ОС.

Решение

На основании найденной информации вGithub, правильное решение состоит в переустановке .NET Core с нуля, что поможет устранить проблемы с зависимостями и отсутствующими пакетами. Для этого выполните следующие шаги:

  1. Удаление существующих пакетов .NET:

    Откройте терминал и выполните команду:

    sudo apt-get remove 'dotnet*' 'aspnet*' 'netstandard*'

    Эта команда удалит все установленные пакеты, связанные с .NET.

  2. Переустановка .NET Core 8.x:

    После успешного удаления пакетов вам нужно выполнить инструкцию по установке .NET Core для Ubuntu 24.04.1. Вы можете найти актуальные шаги по установке на официальной странице Microsoft:
    Установка .NET на Ubuntu 24.04.

  3. Проверка установленных версий:

    После установки убедитесь, что все версии SDK и соответствующие зависимости установлены корректно, выполнив:

    dotnet --list-sdks
    dotnet --list-runtimes

    Данная команда должна вывести список доступных SDK и Runtime. Убедитесь, что присутствуют версии, необходимые для вашего проекта.

  4. Проверка конфигурации проектов:

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

Заключение

Таким образом, основным способом исправления проблемы с невозможностью сборки .NET Core после обновления Ubuntu до версии 24.04.1 является полное удаление существующих версий и повторная установка .NET Core. Следуя вышеописанным шагам, вы сможете устранить появившиеся ошибки и вернуть функциональность вашего проекта.

Оцените материал
Добавить комментарий

Капча загружается...