Cannot find Bitmap Class in Class Library (.NET Standard)

Update

As of last month (May 2018), Microsoft have a production release (previously it was preview/RC) of System.Drawing.Common, a NuGet package which supersedes both versions of the CoreCompat.System.Drawing package. This should be used going forwards.

For those using docker

You also need the libgdiplus library within your final docker image, as System.Drawing.Common relies on this. You can install that using the following Dockerfile command:

RUN apt-get update \
    && apt-get install -y libgdiplus libc6-dev \
    && ln -s /usr/lib/libgdiplus.so /usr/lib/gdiplus.dll \
    && ln -s /usr/lib/x86_64-linux-gnu/libdl.so /lib64/libdl.so.2 \
    && ln -s /usr/lib/x86_64-linux-gnu/libdl.so /lib64/libdl.so

Old answer

For now you can use the CoreCompat.System.Drawing nuget package.

We've been using it in production code for a few months (drawing on video screencaps) and it has been working great. It's basically a slot-in replacement for System.Drawing.


I'm the author of CoreCompat.System.Drawing. If you're on .NET Core 2.0, I'd recommend you'd move to System.Drawing.Common instead, which is the Microsoft-maintained implementation of System.Drawing for .NET Core.

If you're on Linux or macOS, make sure to install libgdiplus. On macOS, run brew install mono-libgdiplus; on Linux your package manager should provide you with a libgdiplus package.