Wir müssen einige SSIS-Pakete mit mehreren SQL Server-Versionen (2014 und 2016) ausführen, ohne dass wir 2 Versionen der Codebasis verwalten müssen.Assembly-Umleitung funktioniert nicht für SSIS-Skripttask
Ich habe eine Wrapper-C# -Konsolen-App mit Assembly-Umleitungen (unten aufgeführt) in der Konfiguration erstellt und ruft später die Package.Execute-Methode zum Ausführen der DTSX-Datei auf.
Ich erhalte den folgenden Fehler, der mir sagt, dass die neueste Version der Microsoft.SqlServer.ScriptTask-Assembly, die auf dem Computer gefunden wird, geladen wird. Die Maschine hat momentan v12, 13 und 14 Baugruppen. Und ich muss v13 verwenden, da ich SQL Server 2016 targetiere.
Irgendwelche Ideen, warum es das tun würde und wie ich es richtig "auflösen" kann?
Fehler:
CS1705 - Assembly 'Microsoft.SqlServer.ScriptTask, Version = 14.0.0.0, Culture = neutral, PublicKeyToken = 89845dcd8080cc91' Anwendungen ‚Microsoft.SqlServer.ManagedDTS, Version = 14.0.0.0, Culture = neutral, PublicKeyToken = 89845dcd8080cc91' , die eine höhere Version als referenzierte Assembly hat 'Microsoft.SqlServer.ManagedDTS, Version = 13.0.0.0, Culture = neutral, PublicKeyToken = 89845dcd8080cc91'
Redirects in Konsole app Config: mit einer anderen Version DLL laufen
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Microsoft.SqlServer.ScriptTask" publicKeyToken="89845dcd8080cc91" culture="neutral" />
<bindingRedirect oldVersion="10.0.0.0-14.0.0.0" newVersion="13.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.SqlServer.ManagedDTS" publicKeyToken="89845dcd8080cc91" culture="neutral" />
<bindingRedirect oldVersion="10.0.0.0-14.0.0.0" newVersion="13.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.SqlServer.DTSRuntimeWrap" publicKeyToken="89845dcd8080cc91" culture="neutral" />
<bindingRedirect oldVersion="10.0.0.0-14.0.0.0" newVersion="13.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.SqlServer.DTSPipelineWrap" publicKeyToken="89845dcd8080cc91" culture="neutral" />
<bindingRedirect oldVersion="10.0.0.0-14.0.0.0" newVersion="13.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.SqlServer.PipelineHost" publicKeyToken="89845dcd8080cc91" culture="neutral" />
<bindingRedirect oldVersion="10.0.0.0-14.0.0.0" newVersion="13.0.0.0" />
</dependentAssembly>
</assemblyBinding> </runtime>
Sie überprüfen, ob es wesentliche Unterschiede zwischen verschiedene ManagedDTS-Assembly-Objekte und -Klassen. Wenn diese Unterschiede gefunden werden, denke ich, dass Sie der gegebenen Antwort zustimmen müssen. Sonst kannst du mit der Frage gehen, die du gestellt hast – Yahfoufi