2014-04-23 16 views
6

Ho un progetto con SignalR e Ext.net. Entrambi richiedono Newtonsoft.Json.Fusione vincolante Post-policy ignoring bindingRedirect

SignalR richiede Newtonsoft.Json 4.5.0.0 e Ext.net richiede 4.0.8.0.

I miei reindirizzamenti di binding non funzionano affatto. Nel mio web.config

<dependentAssembly> 
    <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral"/> 
    <bindingRedirect oldVersion="4.0.8.0" newVersion="4.5.0.0"/> 
</dependentAssembly> 

Ma quando si va a legare

 
=== Pre-bind state information === 
LOG: DisplayName = Newtonsoft.Json, Version=4.0.8.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed 
(Fully-specified) 
LOG: Appbase = file:///C:/Users/*****/Documents/Visual Studio 2012/Projects/QuotaBuilder/branches/1Install/QMSSite/ 
LOG: Initial PrivatePath = C:\Users\*****\Documents\Visual Studio 2012\Projects\QuotaBuilder\branches\1Install\QMSSite\bin 
Calling assembly : Ext.Net, Version=1.6.0.1867, Culture=neutral, PublicKeyToken=2e12ce3d0176cd87. 
=== 
LOG: This bind starts in default load context. 
LOG: Using application configuration file: C:\Users\*****\Documents\Visual Studio 2012\Projects\QuotaBuilder\branches\1Install\QMSSite\web.config 
LOG: Using host configuration file: \\pacrl-fsrv02\userdata$\*****\My Documents\IISExpress\config\aspnet.config 
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config. 
LOG: Post-policy reference: Newtonsoft.Json, Version=4.0.8.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed 
LOG: Attempting download of new URL file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files/root/862fb004/45708817/Newtonsoft.Json.DLL. 
LOG: Attempting download of new URL file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files/root/862fb004/45708817/Newtonsoft.Json/Newtonsoft.Json.DLL. 
LOG: Attempting download of new URL file:///C:/Users/*****/Documents/Visual Studio 2012/Projects/QuotaBuilder/branches/1Install/QMSSite/bin/Newtonsoft.Json.DLL. 
WRN: Comparing the assembly name resulted in the mismatch: Minor Version 
ERR: Failed to complete setup of assembly (hr = 0x80131040). Probing terminated. 

Quindi, per quanto posso vedere, il riferimento post-politica dovrebbe essere la versione reindirizzato, senza la richiesta originale. Eppure è completamente ignorato. Ho già avuto questo problema in passato con questo progetto, ma in passato sono stato in grado di ottenere solo la versione richiesta perché non c'erano due dipendenze separate.

risposta

0

Cambia il tuo legame reindirizzare a:

<dependentAssembly> 
    <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral"/> 
    <bindingRedirect oldVersion="0.0.0.0-4.5.0.0" newVersion="4.5.0.0"/> 
</dependentAssembly> 
+0

Questo non ha funzionato. Ignora ancora il bindingRedirect e il log di Fusion è lo stesso – awptimus

0

Non dimenticare di includere namespace XML nell'elemento assemblyBinding.

<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">