2009-04-27 14 views
5

Tengo una aplicación ClickOnce (app1) que llama archivos DLL desde otra solución (app2). Recientemente actualicé esta aplicación a un cliente y ocurrió algo extraño.Implementación de .NET ClickOnce y ensamblados incorrectos llamados después de la versión actualizada

Se puso la nueva versión (versión de publicación era correcta en el panel de control /Agregar o quitar programas) de app1 y la versión de la aplicación correcta era tan inspeccionado manualmente en la aplicación. Pero los archivos DLL llamados desde la solución de referencia (app2) todavía eran los viejos.

Eliminamos todos los archivos en C:\Documents and Settings\username\Local Settings\Apps\2.0 y lo instalamos de nuevo. Esta vez no hubo ningún problema, se llamaron los archivos DLL correctos.

Una cosa a mencionar es que los números de versión son completamente diferentes en la nueva versión desde que cambiamos esto mientras actualización de Visual Studio     2005 a Visual Studio     2008. Antiguo/nueva versión publicada: 1.0.0.6/1.9 .1.6.

+0

¡Hemos visto esto también! En nuestro caso, fue dll's en la misma solución que por alguna razón se refirió a los anteriores, y adivina qué sucedió cuando cambiamos la API de esa DLL ... No tengo idea de por qué, pero los usuarios usualmente tienen la aplicación para un tiempo y hecho bastantes actualizaciones. Borrar la carpeta 2.0 siempre arregla las cosas. – andyhammar

Respuesta

3

Esto parece ser un error en .NET Framework 3.5 SP1.

http://support.microsoft.com/default.aspx/kb/971052

me fijo por:

  1. Borrado de la caché .NET en línea desde un símbolo del sistema: “rundll32 dfshim CleanOnlineAppCache”
  2. Deinstall todas las aplicaciones .NET que podrían tener una referencia a la misma asamblea problemática.
  3. Instalar todas las aplicaciones nuevamente.
+0

El enlace está (efectivamente) roto. –

Cuestiones relacionadas