Trying to publish a project for linux-x86 fails:
位 dotnet publish -c Release -o --self-contained --runtime linux-x86
Microsoft (R) Build Engine version 16.3.0+0f4c62fea for .NET Core
Copyright (C) Microsoft Corporation. All rights reserved.
C:\Program Files\dotnet\sdk\3.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.FrameworkReferenceResolution.targets(87,5): error NETSDK1084: There is no application host available for the specified RuntimeIdentifier 'linux-x86'. [C:\src\test\Test.Worker.csproj]
C:\Program Files\dotnet\sdk\3.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.FrameworkReferenceResolution.targets(87,5): error NETSDK1084: There is no application host available for the specified RuntimeIdentifier 'linux-x86'. [C:\src\test\Test.Worker.csproj]
linux-x64 works fine though.
Can --self-contained not be used for 32-bit Linux builds?
There are no official builds for Linux x86. https://github.com/dotnet/core-sdk
You would have to build it your self.
cc: @richlander
The docs at https://docs.microsoft.com/en-us/dotnet/core/rid-catalog say:
You can see the list of supported RIDs and the RID graph in the runtime.json file, which is located at the CoreFX repo.
The runtime.json file does have a linux-x86 RID listed. Is this documentation incorrect?
Why is there an x86 build for Windows but not Linux? I've got a few VPSes with very limited RAM (128 MB) which I'd like to run .NET Core apps on. With such a small amount of RAM there's not really any benefits of 64-bit over 32-bit.
Most helpful comment
The docs at https://docs.microsoft.com/en-us/dotnet/core/rid-catalog say:
The runtime.json file does have a
linux-x86RID listed. Is this documentation incorrect?Why is there an x86 build for Windows but not Linux? I've got a few VPSes with very limited RAM (128 MB) which I'd like to run .NET Core apps on. With such a small amount of RAM there's not really any benefits of 64-bit over 32-bit.