Hallo,
wir haben derzeit in der Firma ein etwas ungewöhnliches Problem mit Silverlight 4. Während dem Erstellen von DLLs "verschwinden" einige Eigenschaften, die wir kurz vorher implementiert haben. Das ganze passiert nicht regelmäßig, sondern nur hin und wieder. In den letzten vier Wochen hatte unser Team (10 Mann) das Problem exakt drei Mal.
Ausführliche Problembeschreibung:
Es gibt zwei Komponenten. Eine DLL, die Controls bereitstellt, und eine Silverlight-Anwendung, die diese DLL benutzt und die Controls anzeigt.
Silverlight-DLL (Class control):
Silverlight Anwendung (Class UI):
Wenn wir jetzt in der DLL eine neue Property namens "Property D" hinzufügen, das Projekt neu kompilieren und die DLL in der Anwendung ersetzen, fehlt manchmal die neu erstellte Property D.
Wir haben bereits alle Möglichkeiten von menschlichen Fehlern ausgeschlossen. Die Datei wurde definitiv neu kompiliert (clean build, bin-folders löschen etc). Die Datei wurde, von wo die DLL-Refernenz kommt, gelöscht und in der Anwendung neu hinzugefügt. Wir haben das ganze eingecheckt und auf einem komplett anderen Rechner durchkompiliert. Er findet die Eigenschaft D trotzdem nicht.
Vom Gefühl her ist das so, wie wenn er eine Shadow-Copy macht, die Kopie aber beim neu Erstellen nicht Ersetzen kann und somit die alte DLL benutzt. Wie wenn er sich diese irgendwo wegspeichern würde.
Ein weiteres Problem ist, dass das ganze nicht regelmäßig auftritt. In den letzten vier Wochen hatten wir es drei mal, jedesmal bei unterschiedlichen DLL-Projekten, bei unterschiedlichen Personen und auf unterschiedlichen Rechnern. Nach einer gewissen Zeit, meist so ein guter Tag, verschwindet das Problem wie von Geisterhand.
Der Fehler ist da, lässt sich aber nicht konstant reproduzieren. Uns gehen langsam die Ideen aus, was das noch sein könnte. Daher unsere Frage an euch:
Kennt jemand von euch dieses Problem?
Hatte es vielleicht schonmal jemand selbst?
Über ein paar Tips würden wir uns freuen.
mfg
Easy
P.S.: Beispielcode darf ich aus sicherheitstechnischen Gründen leider nicht liefern.
Ich würde mal vermuten dass im Cache des IE noch die alte Version vorhanden ist. versucht mal den Cache zu leeren und die Seite dann neu aufzurufen
MfG
ProGamer*Der Sinn Des Lebens Ist Es, Den Sinn Des Lebens Zu Finden!
*"Wenn Unrecht zu Recht wird dann wird Widerstand zur Pflicht."
*"Ignorance simplifies ANY problem."
*"Stoppt die Piraterie der Musikindustrie"
Habs gerade probiert über "Extras - Browserverlauf löschen - Alles anhaken - Löschen". Danach DLL neu kompiliert, von Hand rüber kopiert und Referenz neu gesetzt. Leider immer noch das gleiche Problem.
Hallo,
ich möchte euch die Lösung nicht vorenthalten:
Das hat das Problem gelöst. Keine Ahnung woher das Visual Studio die Informationen bzw. die alte DLL hatte, aber er musste sie sich irgendwo noch speichern. Eine Windows-Suche hat hier nix gefunden.
Hauptsache jetzt funktioniert es.