Ho un assembly .NET personalizzato con alcuni cmdlet PowerShell di quelli che utilizzo per le attività relative al dominio comune. Ho appena creato un nuovo cmdlet che fa riferimento a una libreria di terze parti che ha un riferimento a Newtonsoft.Json 4.5.0.0. Tuttavia uno dei miei altri progetti utilizza l'ultima versione di json.net (6.0.0.0). Quindi al runtime in PowerShell Fusion si genera un errore che dice che non è possibile caricare newtonsoft.json 4.5.0.0.Reindirizzamento assembly config Powershell
Ho cercato di creare un powershell.exe.config e mettendo un'assemblea redirect in là:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json", Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed/>
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
ma questo non sembra funzionare. Il log di fusione afferma che sta cercando in questo nuovo file di configurazione per PowerShell ma sembra che non stia rilevando il reindirizzamento.
Bit bloccato per le soluzioni qui. Qualche indizio su quale potrebbe essere il problema? Questo stesso reindirizzamento funziona in alcuni dei miei servizi aziendali che altrimenti avrebbero lo stesso problema (usano anche questo lib di terze parti e json.net 6).
Acclamazioni
Ciao, stavo lavorando su un problema simile, e penso che questo potrebbe essere correlato. Puoi pubblicare la parte pertinente del tuo log di fusione per favore? E inoltre, l'errore di assemblaggio specifico quando provi a caricare (assembly non trovato?) – killthrush