Using System.Drawing on Linux with .NET Core 3.0
This guide covers how to get a sample .NET Core 3.0 application building and running on Linux, specifically Ubuntu 16.04.
These steps should be transferrable to other Ubuntu versions and/or Linux distributions but it has not been tested. A list of supported distributions and versions can be found here.
Setup
First install any required external dependencies, which in this case means libgdiplus
. This is required as the Linux implementation of System.Drawing.Common
sits on top of it.
sudo apt-get -f install libgdiplus
Next, retrieve the latest .NET Core 3.0 release for your system and place it under ~/dotnet-sdk
. Once there, perform the following steps:
cd ~/dotnet-sdk
sudo mkdir -p /usr/share/dotnet
sudo tar -zxf dotnet-sdk-3.0.100-preview5-011568-linux-x64.tar.gz -C /usr/share/dotnet
sudo ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet
Confirm the above worked by checking the installed .NET version,
dotnet --version
which should output something similar to:
3.0.100-preview5-011568
Creating the Test Application
Now to create a simple test application that will use System.Drawing.Common
to create a bitmap image and save it to disk.
dotnet new console -o test-app
cd test-app
dotnet add package System.Drawing.Common
Then replace the contents of Program.cs
with:
|
|
Finally, build and run it:
dotnet build
cd bin/Debug/netcoreapp3.0/
./test-app
Assuming it was successful there should now be a test.bmp
next to your test application.