Unable to build Avalonia on Linux (Debian)
See original GitHub issueHi,
following the guide at https://github.com/AvaloniaUI/Avalonia/blob/master/Documentation/build.md , I encounter the following error when performing the “dotnet restore” step on my Debian Buster system:
A compatible installed .NET Core SDK for global.json version [3.1.101] from [/home/tcrass/src/avalonia/global.json] was not found
Install the [3.1.101] .NET Core SDK or update [/home/tcrass/src/avalonia/global.json] with an installed .NET Core SDK:
3.1.300 [/usr/share/dotnet/sdk]
There seems to be a dotnet version mismatch: The dotnet core version currently installable from https://docs.microsoft.com/en-us/dotnet/core/install/linux-package-manager-debian10 say:
$ dotnet --version
3.1.300
Is there a way to specify the required dotnet version in global.json in a minor-minor-version agnostic way?
Anyway, after manually editing global.json to match the installed dotnet version, I can restore the project. However, when issuing “dotnet run”, the build process throws an error (after printing zillions of warnings):
/path/to/home/.nuget/packages/sharpgentools.sdk/1.2.1/build/SharpGenTools.Sdk.targets(173,5): error MSB4018: Unerwarteter Fehler bei der GenerateExtensionHeaders-Aufgabe. [/home/tcrass /path/to/avalonia/working-copy/src/Avalonia.Native/Avalonia.Native.csproj]
/path/to/home/.nuget/packages/sharpgentools.sdk/1.2.1/build/SharpGenTools.Sdk.targets(173,5): error MSB4018: System.MissingMethodException: Method not found: 'Void System.Xml.Serialization.XmlSerializer.Serialize(System.Xml.XmlWriter, System.Object, System.Xml.Serialization.XmlSerializerNamespaces)'. [/path/to/home/path/to/avalonia/working-copy/src/Avalonia.Native/Avalonia.Native.csproj]
/path/to/home/.nuget/packages/sharpgentools.sdk/1.2.1/build/SharpGenTools.Sdk.targets(173,5): error MSB4018: at SharpGen.CppModel.CppModule.Write(Stream output) [/path/to/home/path/to/avalonia/working-copy/src/Avalonia.Native/Avalonia.Native.csproj]
/path/to/home/.nuget/packages/sharpgentools.sdk/1.2.1/build/SharpGenTools.Sdk.targets(173,5): error MSB4018: at SharpGen.CppModel.CppModule.Write(String file) [/path/to/home/path/to/avalonia/working-copy/src/Avalonia.Native/Avalonia.Native.csproj]
/path/to/home/.nuget/packages/sharpgentools.sdk/1.2.1/build/SharpGenTools.Sdk.targets(173,5): error MSB4018: at SharpGenTools.Sdk.Tasks.GenerateExtensionHeaders.Execute(ConfigFile config) [/path/to/home/path/to/avalonia/working-copy/src/Avalonia.Native/Avalonia.Native.csproj]
/path/to/home/.nuget/packages/sharpgentools.sdk/1.2.1/build/SharpGenTools.Sdk.targets(173,5): error MSB4018: at SharpGenTools.Sdk.Tasks.SharpGenTaskBase.Execute() [/path/to/home/path/to/avalonia/working-copy/src/Avalonia.Native/Avalonia.Native.csproj]
/path/to/home/.nuget/packages/sharpgentools.sdk/1.2.1/build/SharpGenTools.Sdk.targets(173,5): error MSB4018: at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute() [/path/to/home/path/to/avalonia/working-copy/src/Avalonia.Native/Avalonia.Native.csproj]
/path/to/home/.nuget/packages/sharpgentools.sdk/1.2.1/build/SharpGenTools.Sdk.targets(173,5): error MSB4018: at Microsoft.Build.BackEnd.TaskBuilder.ExecuteInstantiatedTask(ITaskExecutionHost taskExecutionHost, TaskLoggingContext taskLoggingContext, TaskHost taskHost, ItemBucket bucket, TaskExecutionMode howToExecuteTask) [/path/to/home/path/to/avalonia/working-copy/src/Avalonia.Native/Avalonia.Native.csproj]
I reckon this is either a bug or the documentation is outdated?
Cheers –
Torsten
Issue Analytics
- State:
- Created 3 years ago
- Reactions:1
- Comments:15 (8 by maintainers)
Yepp, you were right – cleaning up did help, I can now successfuly build Avalonia! 😃
Still doesn’t work with the latest dotnet core version, though – so the documentation is still misleading.
Cheers –
Torsten
Hi @kekekeks
Thanks for your suggestion!
CastXML-v0.2.0 works:
Thanks, Leslie Zhai