У меня есть основной проект dotnet, который я хотел бы упаковать.
Однако, следуя учебнику «Создай свою первую оснастку» и используя плагин dotnet, возникает следующая ошибка:
The plugin used by part 'my-part' does not support snaps using base 'core18'
Какие у меня есть варианты, я как-то нацеливаюсь на неправильная версия?
Плагин dotnet устарел или не поддерживается?
Стоит ли использовать другой плагин, например, dump, для использования уже собранных двоичных файлов?
Я обнаружил ответ, и это - плохие новости для dotnet базовых разработчиков
dotnet плагин не был обновлен для использования основы 'core18'
Однако при изменении основы на просто 'ядро' затем, разъем в действительно работает, но только если Вы нацелены на dotnet базовые 2.0 или более старый.
Печально мой проект является dotnet базовыми 2.1. Попытка создать мой дает:
The current .NET SDK does not support targeting .NET Core 2.1. Either target .NET Core 2.0 or lower, or use a version of the .NET SDK that supports .NET Core 2.1
После рассмотрения snapcraft исходного кода для плагина кажется, что существует скрытая и абсолютно недокументированная опция указать версию dotnet ядра для использования. Для меня устанавливающий следующим образом позволил сборке продолжаться:
dotnet-runtime-version: 2.1.9
Код snapcraft пытается найти соответствие в этом файле JSON на поле времени выполнения версии.
Однако решая это просто позволило мне сталкиваться со следующей ошибкой, которая происходит после того, как сборка dotnet завершена:
join() argument must be str or bytes, not 'NoneType'
Поиск с помощью Google этого, кажется, что это - ошибка Python, не ошибка сборки dotnet
Существует существующий ранее отчет об ошибках для него в сбоях Snapcraft при привязке консольного приложения ядра .NET.
Тем временем я попытаюсь предварительно создать автономное приложение и использовать плагин дампа для создания снимка.