2009-04-27 8 views
5

Ich habe eine ClickOnce-Anwendung (app1), die DLL-Dateien von einer anderen Lösung (app2) aufruft. Ich habe vor kurzem diese Anwendung bei einem Kunden aktualisiert und eine seltsame Sache ist aufgetreten..NET ClickOnce-Bereitstellung und falsche Assemblys aufgerufen nach aktualisierten Version

bekam er die neue Version (Version veröffentlichen in Control Panel/korrekt war Programme hinzufügen oder entfernen) von app1 und die Anwendungsversion korrekt war, wie in der Anwendung manuell inspiziert. Aber die DLL-Dateien, die von der referenzierten Lösung (app2) aufgerufen wurden, waren immer noch die alten.

Wir löschten alle Dateien in C:\Documents and Settings\username\Local Settings\Apps\2.0 und installierten erneut. Diesmal gab es kein Problem, die korrekten DLL-Dateien wurden aufgerufen.

Eine Sache zu erwähnen ist, dass die Versionsnummern in der neuen Version sind völlig verschieden, da wir diese während geändert Visual   Upgrade Studio   2005 auf Visual Studio     2008 Alt-/Neu veröffentlichte Version: 1.0.0.6/1.9 .1.6.

+0

Wir haben das auch gesehen! In unserem Fall war es DLL in der gleichen Lösung, die aus irgendeinem Grund auf die alten verwiesen - und raten Sie, was passiert ist, als wir die API dieser DLL geändert haben ... Keine Ahnung warum, aber die Benutzer haben normalerweise die App für eine Weile und machte einige Updates. Das Löschen des 2.0-Ordners behebt immer Dinge. – andyhammar

Antwort

3

Dies scheint ein Fehler in .NET Framework 3.5 SP1 zu sein.

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

Ich reparierte sie durch:

  1. Löschen die .NET Online Cache von einer Eingabeaufforderung: „rundll32 dfshim CleanOnlineAppCache“
  2. deinstallieren alle .NET-Anwendungen, die einen Verweis haben könnten zur selben problematischen Versammlung.
  3. Installieren Sie alle Anwendungen erneut.
+0

Die Verbindung ist (effektiv) unterbrochen. –