Руководство по разработке для macOS

Preparing environment

Important!!! The information is valid for versions up to 2024.X

In order to build multi-platform applications using .NET Core on macOS, the first steps are for installing in our MAC machine the required tools. We need to install .NET Core SDK from Microsoft and to allow us to develop easier, we will install an advance editor with a lot of features, Visual Studio Code from Microsoft. Both installations are very easy and the detailed description can be found by these two links:

  1. Install .NET Core SDK for macOS.
  2. Install CS Code for macOS.
  3. Install C# extension to facilitate us to code and debugging.

At the time of this writing, .NET Core has a problem with supporting the GdiPlus library on macOS. There is a solution that will help you to run any .Net libraries using GdiPlus.

“System.Drawing .NET Core on macOS, GDIPlus Exception”

You got the whole thing up and running in debug. But when you went for your dotnet run, you got the following crash:

The type initializer for `System.Drawing.GDIPlus` threw an exception. --> System.DllNotFound Exception: Unable to load DLL `gdiplus`: The specified module or one of its dependencies could not be found.

First of all, you need to install “Homebrew” - The missing package manager for macOS (or Linux).

Paste that in a macOS Terminal prompt: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

The script explains what it will do and then pauses before it does it.

Homebrew installs the stuff you need that Apple (or your Linux system) didn’t.

Paste that in a macOS Terminal prompt: $ brew install wget

Homebrew installs packages to their own directory and then symlinks their files into /usr/local

Homebrew won’t install files outside its prefix and you can place a Homebrew installation wherever you like.

Homebrew complements macOS (or your Linux system). Install your RubyGems with gem and their dependencies with brew.

Now, we need to install mono-libgdiplus. GdiPlus -compatible API on non-Windows operating systems.

Paste that in a macOS Terminal prompt: $ brew install mono-libgdiplus

If you are running components with versions starting with 2024.X please add the following dependencies using NuGet:

        <PackageReference Include="Svg.Skia" Version="" />
        <PackageReference Include="SautinSoft.Document" Version="*" />
        <PackageReference Include="System.IO.Packaging" Version="4.4.0" />
        <PackageReference Include="System.Text.Encoding.CodePages" Version="4.5.0" />
        <PackageReference Include="System.Xml.XPath.XmlDocument" Version="4.3.0" />
        <PackageReference Include="SkiaSharp" Version="2.88.6" />
        <PackageReference Include="SkiaSharp.NativeAssets.macOS" Version="2.88.6" />

Congratulations, you have installed all the dependencies needed to run .Net components.

In next paragraphs we will explain in detail how to create simple console application. All of them are based on this VS Code guide:

Get Started with C# and Visual Studio Code

Not only is possible to create .NET Core applications that will run on macOS using Mac as a developing platform. It is also possible to create it using a Windows machine and any modern Visual Studio version, as Microsoft Visual Studio Community 2022.

Если вам нужен пример кода или у вас есть вопрос: напишите нам по адресу [email protected] или спросите в онлайн-чате (правый нижний угол этой страницы) или используйте форму ниже:

Вопросы и предложения всегда приветствуются!

Мы разрабатываем компоненты .Net с 2002 года. Мы знаем форматы PDF, DOCX, RTF, HTML, XLSX и Images. Если вам нужна помощь в создании, изменении или преобразовании документов в различных форматах, мы можем вам помочь. Мы напишем для вас любой пример кода абсолютно бесплатно.