2010-07-28 19 views
6

Al aplicar una redirección de enlace en el app.config del proyecto de prueba. El tiempo de ejecución se niega a obedecer la orden de redirección y sigue en busca de la versión antigua de la asamblearedireccionamiento de enlace no funciona en el proyecto de prueba

<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> 

así que había oído acerca del espacio de nombres predeterminado creando problemas (de un hombre muy sabio) por lo que añade los "xmlns =" urn: schemas-microsoft-com: asm.v1 ". Intentó ejecutar el caso de prueba todavía no ir. Abierto Fusion Log Viewer comprobó el problema y se pregunta si es hasta la búsqueda del viejo dll. El mensaje realmente útil dado abajo fue descifrado usando esta publicación 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. 

MiAunqueProceso

Esto me hizo pensar, ¿por qué todavía no hace el cambio de dirección de montaje si el enlace está presente en mi fichero de configuración.

Tan novato que simplemente me decidí a hacer exactamente lo que el viejo me dijo que hiciera y eliminé la declaración del espacio de nombres del elemento de configuración y hasta que funcionó. xmlns = "http://schemas.microsoft.com/.NetConfiguration/v2.0"

MiPregunta después de esta historia es muy larga por lo que entiendo las declaraciones de espacio de nombres se supone que sólo meterse con el Intellisense ¿por qué está jodiendo con el ensamblaje?

+0

lo que VS se utilizan? –

+0

lo siento Lukas por la respuesta realmente tardía es usar vs2008 SP1. –

+0

¿Encontró alguna solución para este problema ...? – Syska

Respuesta

Cuestiones relacionadas