.NET Core – gdiplus.dll not found in Linux

A few days ago there was an issue raised in my QrCoder project. It was reported that the code would not run under Linux, as the following error message would occur:

Unhandled Exception: System.TypeInitializationException: The type initializer for ‘System.Drawing.KnownColors’ threw an exception.
—> System.TypeInitializationException: The type initializer for ‘System.Drawing.GDIPlus’ threw an exception.
—> System.DllNotFoundException: Unable to load DLL ‘gdiplus.dll’: The specified module could not be found.
(Exception from HRESULT: 0x8007007E)
at System.Drawing.GDIPlus.GdiplusStartup(UInt64& token, GdiplusStartupInput& input,
[…]

However the error message had its origin not in my QrCoder, but in the interplay of the .NET core framework with the GDI Plus library. The .NET Core Framework tries to access “gdiplus.dll” when accessing “System.Drawing.GDIPlus”, which is simply not available on Linux.
First solution approach
First, ensure that GDI+ is installed at all. This can be done with the following shell command:

sudo apt-get install libgdiplus

If libgdiplus is installed, however, another important step is missing …
Link libgdiplus for .NET Core
Because the […]

How to read client hostname in PHP

How to read clienthostname in PHPThe following article is about how to use PHP to read out the client hostname, which is the computer name of a visitor. If you search in the internet, you will find out soon, that the whole thing is not so trivial. Either one gets simply wrong answers or one gets solutions, not in PHP but for example implemented in VBScript or it is said that it is not possible at all. But since it works, I would like to show you how to read the computer name, now.
But before we look at the solution, let’s take a quick look at the suggested solutions on the internet and explain why they are wrong or not recommended.
How to not read the client hostname in PHP
Often suggested but definitely […]

How to fix SSL error 61 in Citrix Web Receiver on Linux

How to fix SSL error 61 in Citrix on LinuxI admit, the title is quite specific and will certainly appeal to only a small readership. But anyone who is facing the problem will be, like me, grateful for a solution.
In particular, the problem is about the SSL error 61 in the Citrix (Web) receiver under Linux and how to fix it. Since I have been running almost exclusively under Kubuntu for several months, the Citrix Reiceiver also moved into the new Linux box. Unfortunately, no connection to systems could be established, since the receiver disconnected with the following error message.
SSL Error 61: You have not chosen to trust “Go Daddy Root Certificate Authority – G2”, the issuer to the server’s security certificate.
Citrix-SSL-Fehler-61What […]

Update: WordPress2Doc 1.2.7.0

Wordpress2Doc 1.2.7.0 - All-in-OneToday there is again a software update. Since yesterday evening the new version 1.2.7.0 of the WordPress2Doc Tool is available for download. In addition to two bugfixes, further translations have been introduced. Thanks a lot to the community support!
If you have forgot (or not even have known yet), for what the WordPress2Doc-Tool can be used, the following brief summary is given.
Using WordPress2Doc, you can save as many articles and pages of a WordPress blog as a Word document (.docx) and / or as a PDF file. It is possible to select whether all articles should be created in one document or whether a new document should be created for each article. This makes it easy to back up, print, and prepare blog articles for further use.
What’s new in WordPress2Doc 1.2.7.0
The following things have changed:

Bugfix: After the export […]

How to download SSL/TLS certificates in C#

How to download SSL and TLS certificates in CsharpThis article is about how to download (or save) SSL/TLS certificates from any server by use of C#. Although nowadays certificates can be stored quite simply from the web browser, this is always associated with quite a few clicks. And at the latest when you want to store certificates from mail servers, etc., i.e. systems that can not be addressed directly in the web browser, a programmatic solution, as shown in this post, may be the easier way.
All in all, I would like to introduce two variants today. One variant, which works only for HTTPS connections and another variant, which works for all TCP connections (like mail servers, etc.).
Download HTTPS/SSL certificates in C#
The first addressed solution works only for HTTPS connections and is […]