Пытаюсь произвести AOT-компиляцию для консольного .net приложения. Для её проведения необходимо, чтобы в системе был CLang и zlib1g-dev (в Alt linux этот пакет носит название zlib-devel). Вроде всё установил.

Но при
$ dotnet publish -r linux-x64 -c Realese
Выводит:
/home/yakotiktvoy/Develop/CSharpLearn/C#13 Base/Chapter26/AOT Compilation/AOT Compilation.sln.metaproj : error MSB4126: указанная конфигурация решения "Realese|Any CPU" недопустима. Укажите допустимую конфигурацию решения с помощью свойств Configuration и Platform (например, MSBuild.exe Solution.sln /p:Configuration=Debug /p:Platform="Any CPU") или оставьте эти свойства пустыми, чтобы использовать конфигурацию решения по умолчанию.
Что-то нашел про ошибку
MSB4126.
Просто вставил это в csproj проекта:
<Configuration Condition=" '$(Configuration)' == '' ">Release</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
В результате получилось:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net9.0</TargetFramework>
<RootNamespace>AOT_Compilation</RootNamespace>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<PublishAot>true</PublishAot>
<Configuration Condition=" '$(Configuration)' == '' ">linux</Configuration>
<Platform Condition=" '$(Platform)' == '' ">x64</Platform>
</PropertyGroup>
</Project>
Но при
$ dotnet publish -c Realese -r linux-x64
тоже самое, что выше выходит.
А если просто запустить без флагов, то уже это:
[yakotiktvoy@YaKotikTvoyComputer AOT Compilation]$ dotnet publish
Восстановление завершено (0,4 с)
AOT Compilation сбой с ошибками (2) (1,7 с) → bin/Release/net9.0/linux-x64/AOT Compilation.dll
clang : error : no such file or directory: 'Compilation.exports'
/home/yakotiktvoy/.nuget/packages/microsoft.dotnet.ilcompiler/9.0.0/build/Microsoft.NETCore.Native.targets(376,5): error MSB3073: выход из команды ""clang" "obj/Release/net9.0/linux-x64/native/AOT Compilation.o" -o "bin/Release/net9.0/linux-x64/native/AOT Compilation" -Wl,--version-script=obj/Release/net9.0/linux-x64/native/AOT Compilation.exports -Wl,--export-dynamic -gz=zlib -fuse-ld=bfd /home/yakotiktvoy/.nuget/packages/runtime.linux-x64.microsoft.dotnet.ilcompiler/9.0.0/sdk/libbootstrapper.o /home/yakotiktvoy/.nuget/packages/runtime.linux-x64.microsoft.dotnet.ilcompiler/9.0.0/sdk/libRuntime.WorkstationGC.a /home/yakotiktvoy/.nuget/packages/runtime.linux-x64.microsoft.dotnet.ilcompiler/9.0.0/sdk/libeventpipe-disabled.a /home/yakotiktvoy/.nuget/packages/runtime.linux-x64.microsoft.dotnet.ilcompiler/9.0.0/sdk/libRuntime.VxsortEnabled.a /home/yakotiktvoy/.nuget/packages/runtime.linux-x64.microsoft.dotnet.ilcompiler/9.0.0/sdk/libstandalonegc-disabled.a /home/yakotiktvoy/.nuget/packages/runtime.linux-x64.microsoft.dotnet.ilcompiler/9.0.0/sdk/libstdc++compat.a /home/yakotiktvoy/.nuget/packages/runtime.linux-x64.microsoft.dotnet.ilcompiler/9.0.0/framework/libSystem.Native.a /home/yakotiktvoy/.nuget/packages/runtime.linux-x64.microsoft.dotnet.ilcompiler/9.0.0/framework/libSystem.Globalization.Native.a /home/yakotiktvoy/.nuget/packages/runtime.linux-x64.microsoft.dotnet.ilcompiler/9.0.0/framework/libSystem.IO.Compression.Native.a /home/yakotiktvoy/.nuget/packages/runtime.linux-x64.microsoft.dotnet.ilcompiler/9.0.0/framework/libSystem.Net.Security.Native.a /home/yakotiktvoy/.nuget/packages/runtime.linux-x64.microsoft.dotnet.ilcompiler/9.0.0/framework/libSystem.Security.Cryptography.Native.OpenSsl.a /home/yakotiktvoy/.nuget/packages/runtime.linux-x64.microsoft.dotnet.ilcompiler/9.0.0/sdk/libz.a -g -Wl,-rpath,'$ORIGIN' -Wl,--build-id=sha1 -Wl,--as-needed -pthread -ldl -lrt -lm -pie -Wl,-pie -Wl,-z,relro -Wl,-z,now -Wl,--eh-frame-hdr -Wl,--discard-all -Wl,--gc-sections" с кодом 1.
Сборка сбой с ошибками (2) через 2,3 с
А если закомментировать, то что было добавлено:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net9.0</TargetFramework>
<RootNamespace>AOT_Compilation</RootNamespace>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<PublishAot>true</PublishAot>
<!--<Configuration Condition=" '$(Configuration)' == '' ">linux</Configuration>
<Platform Condition=" '$(Platform)' == '' ">x64</Platform>-->
</PropertyGroup>
</Project>
и снова запустить publish без флагов, то выведет тоже самое, что и выше, то есть ошибку MSB3073, на осознание которой мне мозгов уже точно не хватит.
Почему не происходит AOT-компиляция? Использую .net9.
Код консоли:
using static System.Console;
WriteLine("BarsikScript");