Я получаю следующую ошибку в своем проекте Android в коде Visual Studio:
/usr/local/share/dotnet/sdk/8.0.204/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.FrameworkReferenceResolution.targets(90,5): ошибка NETSDK1083: указанный RuntimeIdentifier 'android.21 -arm64' не распознается. См. https://aka.ms/netsdk1083 для получения дополнительной информации. [/Users/name/Projects/…/ProjAndroid.csproj] /usr/local/share/dotnet/sdk/8.0.204/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.FrameworkReferenceResolution.targets(90 ,5): ошибка NETSDK1083: указанный RuntimeIdentifier «android.21-arm» не распознан. См. https://aka.ms/netsdk1083 для получения дополнительной информации. [/Users/name/Projects/…/ProjAndroid.csproj] Невозможно создать файл графа зависимостей для проекта «/Users/name/Projects/…/ProjAndroid.csproj». Невозможно добавить ссылку на пакет.
В моем файле .csproj есть следующий код:
<Project Sdk = "Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0-android</TargetFramework>
<SupportedOSPlatformVersion>31.0</SupportedOSPlatformVersion>
<OutputType>Exe</OutputType>
<UseMaui>true</UseMaui>
<UseMauiEssentials>true</UseMauiEssentials>
<SkipValidateMauiImplicitPackageReferences>true</SkipValidateMauiImplicitPackageReferences>
<ApplicationId>com.companyname.ProjAndroid</ApplicationId>
<ApplicationVersion>1</ApplicationVersion>
<ApplicationDisplayVersion>1.0</ApplicationDisplayVersion>
</PropertyGroup>
<PropertyGroup Condition = " '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<WarningLevel>4</WarningLevel>
<NoStdLib>false</NoStdLib>
<RuntimeIdentifiers>android.21-arm64;android.21-arm</RuntimeIdentifiers>
</PropertyGroup> ...
Я перешел с Visual Studio для Mac на Visual Studio Code в macOS, и теперь всегда получаю эту ошибку. Я не знаю, нужен ли мне еще android.21-arm64;android.21-arm в моем файле .csproj, и я не помню, когда он был добавлен в мой файл csproj. Для чего именно используется android.21-arm64;android.21-arm в моем проекте Android? Могу ли я удалить его?
Я попытался установить необходимый RuntimeIdentifier, но он не работает.
dotnet runtime install --runtime android.21-arm64
Не удалось выполнить, поскольку указанная команда или файл не найдены. Возможные причины: Вы неправильно написали встроенный dotnet. команда. Вы намеревались выполнить программу .NET, но среда выполнения dotnet не существует. Вы намеревались запустить глобальный инструмент, но Исполняемый файл с префиксом dotnet и таким именем не найден на ПУТЬ.





В связанной статье упоминается:
Используйте переносимые RID, например
linux-<arch>,linux-musl-<arch>,osx-<arch>иwin-<arch>, вместо RID, зависящих от версии или дистрибутива, таких какubuntu.16.04-<arch>,osx.10.11-<arch>иwin10-<arch>.
Вы по-прежнему используете RID для конкретной версии, вам необходимо использовать переносимые RID:
<RuntimeIdentifiers>android-arm64;android-arm</RuntimeIdentifiers>