# PowerShell Core – The type initializer for Gdip threw an exception.

While working on PSWriteExcel on Ubuntu / Mac OS I’ve noticed that my -AutoFit method for ConvertTo-Excel was crashing. I couldn’t…

blog

22 Sep 2018 fr

![PowerShell Core – The type initializer for Gdip threw an exception.](/wp-content/uploads/2018/09/img_5ba68c2b6b281.png)

[Voir les images (4)](#pf-content-image-1-0)

While working on [**PSWriteExcel**](https://evotec.xyz/hub/scripts/pswriteexcel-powershell-module/)on **Ubuntu** / **Mac OS** I've noticed that my **-AutoFit** method for **ConvertTo-Excel** was crashing. I couldn't reproduce same behavior on PowerShell Core on Windows so it must be something with how **Ubuntu / Mac OS** deals with it. The error I was getting:

> Failed AutoFit with error message: Exception calling “AutoFitColumns” with “0” argument(s): “The type initializer for ‘Gdip' threw an exception.”

[!\[PowerShell error showing AutoFitColumns failing because the Gdip type initializer threw an exception\](/wp-content/uploads/2018/09/img_5ba68c0dee84f.png)](/wp-content/uploads/2018/09/img_5ba68c0dee84f.png)[!\[Detailed PowerShell stack trace for the Gdip type initializer exception in ImportExcel\](/wp-content/uploads/2018/09/img_5ba690e097479.png)](/wp-content/uploads/2018/09/img_5ba690e097479.png)

It seems the issue is known and reported on **[GitHub](https://github.com/dotnet/corefx/issues/17135)**. Until then… you need to work with workaround as below..

### 💡 How can I fix it?

To fix this you need to run following commands and install or update **libgdiplus**.

```powershell
apt install -y libc6-dev
apt install -y libgdiplus
```

[!\[Linux package installation commands used as a workaround for the Gdip dependency issue in PowerShell Core\](/wp-content/uploads/2018/09/img_5ba68c2b6b281.png)](/wp-content/uploads/2018/09/img_5ba68c2b6b281.png)

On Mac OS it's a almost the same with the difference of using **brew**

```powershell
brew install mono-libgdiplus
```

After this little update.. no more errors

[!\[PowerShell output after installing the required dependency with no more Gdip errors\](/wp-content/uploads/2018/09/img_5ba68d003476c.png)](/wp-content/uploads/2018/09/img_5ba68d003476c.png)

If you're working with Azure DevOps change required to Mac OS looks like this (surprisingly Ubuntu doesn't have this error)

```powershell
jobs:
  - job: Build_PS_Win2016
    pool:
      vmImage: vs2017-win2016
    steps:
    - powershell: |
        Install-Module -Name Pester -Repository PSGallery -Force -SkipPublisherCheck
        .\PSWriteExcel.Tests.ps1 -Verbose
      displayName: 'Run Pester Tests'

  - job: Build_PSCore_Ubuntu1604

    pool:
      vmImage: ubuntu-16.04

    steps:
    - script: |
        curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
        curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list | sudo tee /etc/apt/sources.list.d/microsoft.list
        sudo apt-get update
        sudo apt-get install -y powershell
      displayName: 'Install PowerShell Core'

    - script: |
        pwsh -c '.\PSWriteExcel.Tests.ps1'
      displayName: 'Run Pester Tests'

  - job: Build_PSCore_MacOS1013
    pool:
      vmImage: xcode9-macos10.13
    steps:
    - script: |
        brew update
        brew tap caskroom/cask
        brew install mono-libgdiplus
        brew cask install powershell
      displayName: 'Install PowerShell Core'

    - script: |
        pwsh -c '.\PSWriteExcel.Tests.ps1'
      displayName: 'Run Pester Tests'
```

If you're working with Travis updated **.travis.yml **looks like this which covers both **Ubuntu** and **Mac OS**

```powershell
language: generic

matrix:
  include:
    - os: osx
      osx_image: xcode9.1
      before_install:
        - brew update
        - brew tap caskroom/cask
        - brew install mono-libgdiplus
        - brew cask install powershell
    - os: linux
      dist: trusty
      sudo: required
      addons:
        apt:
          sources:
            - sourceline: deb [arch=amd64] https://packages.microsoft.com/ubuntu/14.04/prod trusty main
              key_url: https://packages.microsoft.com/keys/microsoft.asc
          packages:
            - libc6-dev
            - libgdiplus
            - powershell

script:
  - pwsh -c 'Install-Module Pester -Force -Scope CurrentUser; .\PSWriteExcel.Tests.ps1'
```

## Projets associés

Projets liés aux tags, catégories et au contenu de cet article.

[Tous les projets](/fr/projets/)

Recherche des projets associés...

[Retour au blog](/blog)

## Articles associés

- [Out-HtmlView – HTML alternative to Out-GridView](/fr/blog/out-htmlview-html-alternative-to-out-gridview/)
- [Using PowerShell to fix Ubiquiti Unifi requirement for MongoDB 3.6 on Ubuntu 18](/fr/blog/powershell-fix-to-ubiquiti-unifi-requirement-for-mongodb-3-6-on-ubuntu/)
- [PSTeams – Send notifications to MS Teams from Mac / Linux or Windows](/fr/blog/psteams-send-notifications-to-ms-teams-from-mac-linux-or-windows/)

<!-- PowerForge markdown artifact sha256:F3504BA06A9F840BCAC6943BA8B70DAA70D15DCF0FC0E2D480B5D969C83AE30C -->
