Installing GemBox.Bundle in one project creates app.config files in every other project.

I installed GemBox.Bundle via Nuget into 1 project in a 10 project solution. When I did, it created app.config files in every other project that references this one project. It added the following:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>

Is this legit? If so, why does it do it?

Hi Robert,

I believe that this binding redirect was added because two packages in your project have a dependency on System.Runtime.CompilerServices.Unsafe but are targeting different versions.

GemBox components have a dependency on the System.Memory (used by HarfBuzzSharp and SkiaSharp) that uses System.Runtime.CompilerServices.Unsafe version >= 4.5.3.

I presume that you have another package that is targeting the latest version 6.0.0 of the System.Runtime.CompilerServices.Unsafe.

Regards,
Mario

I see it now, the reason is System.Text.Json from GemBox.Email.
It’s using System.Runtime.CompilerServices.Unsafe (>= 6.0.0).