2010-07-28 15 views
6

Quando si applica un reindirizzamento di binding nell'app.config del progetto di test. Il runtime si rifiuta di obbedire al comando di reindirizzamento e continua a cercare la vecchia versione dell'assemblybinding redirect che non funziona nel progetto di test

<runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
    <dependentAssembly> 
     <assemblyIdentity name="Msdcc.Common" publicKeyToken="9d9c15280f7f1425"/> 
     <bindingRedirect oldVersion="0.0.0.0-2.4.0.0" newVersion="2.4.0.0"/> 
    </dependentAssembly> 
    </assemblyBinding> 
</runtime> 

ben Avevo sentito parlare il namespace di default creando problemi (da un uomo molto saggio) quindi ho aggiunto il "xmlns =" urna: schemas-microsoft-com: asm.v1 ". Provato a eseguire il test case ancora non andare. Aperto Fusion Log Viewer controllato il problema e meraviglie di meraviglia che è fino a cercare la vecchia dll. Il messaggio davvero utile dato sotto è stato decifrato utilizzando questo post http://msdn.microsoft.com/en-us/magazine/dd727509.aspx

*** Assembly Binder Log Entry (28/07/2010 @ 18:59:36) *** 

The operation failed. 
Bind result: hr = 0x80131040. No description available. 

Assembly manager loaded from: C:\WINNT\Microsoft.NET\Framework\v2.0.50727\mscorwks.dll 
Running under executable C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe 
--- A detailed error log follows. 

=== Pre-bind state information === 
LOG: User = BELGACOM\id820374 
LOG: DisplayName = Msdcc.Common, Version=2.2.0.0, Culture=neutral, PublicKeyToken=9d9c15280f7f1425 
(Fully-specified) 
LOG: Appbase = file:///c:/data/source/explorev1/explore.root/explore/euc.explore.domainobjectstest/bin/debug 
LOG: Initial PrivatePath = NULL 
LOG: Dynamic Base = NULL 
LOG: Cache Base = NULL 
LOG: AppName = NULL 
Calling assembly : (Unknown). 
=== 
LOG: This is an inspection only bind. 
LOG: Using application configuration file: c:\data\source\explorev1\explore.root\explore\euc.explore.domainobjectstest\bin\debug\euc.explore.domainobjectstest.dll.config 
LOG: Using machine configuration file from C:\WINNT\Microsoft.NET\Framework\v2.0.50727\config\machine.config. 
LOG: GAC Lookup was unsuccessful. 
LOG: Attempting download of new URL file:///c:/data/source/explorev1/explore.root/explore/euc.explore.domainobjectstest/bin/debug/Msdcc.Common.DLL. 
LOG: Assembly download was successful. Attempting setup of file: c:\data\source\explorev1\explore.root\explore\euc.explore.domainobjectstest\bin\debug\Msdcc.Common.dll 
LOG: Entering run-from-source setup phase. 
LOG: Assembly Name is: Msdcc.Common, Version=2.4.0.0, Culture=neutral, PublicKeyToken=9d9c15280f7f1425 
WRN: Comparing the assembly name resulted in the mismatch: Minor Version 
ERR: The assembly reference did not match the assembly definition found. 
ERR: Failed to complete setup of assembly (hr = 0x80131040). Probing terminated. 

mioAnche seprocesso

Questo mi ha fatto pensare perché lo fa ancora non fare il reindirizzamento di montaggio se il collegamento è presente nel mio file di configurazione.

Così newbie che ho appena deciso, farò esattamente quello che il vecchio mi ha detto di fare e ho rimosso la dichiarazione dello spazio dei nomi dall'elemento di configurazione e, hey, ha funzionato. xmlns = "http://schemas.microsoft.com/.NetConfiguration/v2.0"

mioDomanda dopo questa lunghissima storia è da quello che ho capito le dichiarazioni di namespace si suppone solo a pasticciare con la Intellisense perché si sta aggirando con il binding dell'assemblaggio ???

+0

quello VS si usa? –

+0

scusa Lukas per la risposta molto tarda è utilizzare vs2008 SP1. –

+0

Hai trovato qualche soluzione per questo problema ...? – Syska

risposta

Problemi correlati