MySQLConnector DLL Error System.Threading.Tasks.Extensions linking

0

i try to publish my App (C#, Desktop-WPF, .NET Framework 4.8) to a testsystem, my problem is:

if i use the nuget package mysqlconnector (1.3.7) without(!) upgrading the automatic installed System.Buffers/Memory/Numerics/Threading ... Packs and i try to connect to the Server i get the following error on my Dev System:

Die Datei oder Assembly "System.Threading.Tasks.Extensions, Version=4.2.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51" oder eine Abhängigkeit davon wurde nicht gefunden. Die gefundene Manifestdefinition der Assembly stimmt nicht mit dem Assemblyverweis überein. (Ausnahme von HRESULT: 0x80131040)

BUT if i run the Application on my Testsystem it works.

When i upgrade the other nuget Packs it will run on my dev system but no more on the testsystem (deleted all old files), now on my Testsystem the following message appears if i try to connect:

Die Datei oder Assembly "System.Threading.Tasks.Extensions, Version=4.1.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51" oder eine Abhängigkeit davon wurde nicht gefunden. Die gefundene Manifestdefinition der Assembly stimmt nicht mit dem Assemblyverweis überein. (Ausnahme von HRESULT: 0x80131040)

A very simple fix is to replace the new DLL Files with the older on my testsystem, but this cant be the solution, i removed and reinstalled the nugetpackages but it is allways the same, i think somewhere must be a entry who is linking to the wrong Files/version

The original Line in the csproj File (i tryed different Numbers but nothing helped):

<Reference Include="System.Threading.Tasks.Extensions, Version=4.2.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
      <HintPath>packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll</HintPath>
    </Reference>
c#
.net-assembly
mysql-connector
asked on Stack Overflow Apr 27, 2021 by user3600403

1 Answer

0

ok, i found the solution:

  1. uninstalled mysqlconnector nuget and the automatic installed packs

  2. open App.config and deleted:

    <dependentAssembly>
             <assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
             <bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
           </dependentAssembly>
           <dependentAssembly>
             <assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
             <bindingRedirect oldVersion="0.0.0.0-4.0.1.1" newVersion="4.0.1.1" />
           </dependentAssembly>
           <dependentAssembly>
             <assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
             <bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
           </dependentAssembly>
           <dependentAssembly>
             <assemblyIdentity name="System.Threading.Tasks.Extensions" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
             <bindingRedirect oldVersion="0.0.0.0-4.2.0.1" newVersion="4.2.0.1" />
           </dependentAssembly>
           <dependentAssembly>
             <assemblyIdentity name="System.Numerics.Vectors" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
             <bindingRedirect oldVersion="0.0.0.0-4.1.4.0" newVersion="4.1.4.0" />
           </dependentAssembly>
    
  3. reinstalled mysqlconnector without updating the automatic installed packs, now it works on dev and testsystem.

answered on Stack Overflow Apr 28, 2021 by user3600403

User contributions licensed under CC BY-SA 3.0