Frage

Ich habe eine Lösung mit vielen Projekten. Ein Projekt enthält einige benutzerdefinierte Komponenten. Eine dieser Komponenten wird auf ein Bild, einen Titel angezeigt werden soll. Wir können die Farbe des Hintergrundes und viele andere Dinge ändern.

Das Problem ist, wenn ich entscheiden, die Standardfarbe des Hintergrunds der Komponente zu ändern oder die Position des Textes ändern, thoses Änderung nicht in allen anderen Projekten der Lösung widerspiegelt, wo die Komponente verwendet wird. Ich habe das Projekt der Komponente compilent und alle anderen Projekte Referenz die Komponente durch das Projekt.

Für den Moment, was ich tun muß, ist die Komponente aus dem anderen Projekt eines nach dem anderem zu starten und es wieder an, dann ist alles in Ordnung. Haben Sie einen schnellen Weg, es zu tun?

UPDATE Ich habe eine CheckBox innerhalb dieser Komponente hinzugefügt und es scheint, dass das Kontrollkästchen ist überall! Fein! Aber wenn eine Eigenschaft hat einen etwas Tag, das die Komponente lassen sich ändern (zB wie die Hintergrundfarbe) es nicht die „default“ Wert nicht ändert, sondern setzen den alten Wert als geänderte Wert in der Eigenschaft. So sehe ich der alte Wert gefasste wie wenn ich manuell hinzufügen, die Farbe im Eigenschaftenfenster geändert, wenn ich nicht ...

UPDATE 2 alt text http://img517.imageshack.us/img517/9112/oldonenewoneei0.png

Update 3:

Dieses Problem ist immer noch hier. Nur, damit die Leute wissen, dass ich immer noch neugierig bin, einen Weg zu finden.

Ich habe versucht, einige Ihrer Vorschläge.

  1. Wenn ich die ganze Lösung reinigen und nur das Projekt erstellen, die das Custom Control hat dann ich die Lösung bauen. Nichts ändern (es zu testen, habe ich die Farbe der Komponente Gelb ändert nichts ändern. nicht
  2. .
  3. Wenn ich den Verweis entfernen und fügen Sie es dem Projekt zurück und dann die Lösung wieder aufzubauen. Ich kann die alte Farbe im Designer sehen. nicht

Ich habe die Frage mit mehr Informationen und ein Bild aktualisiert (siehe oben) für diejenigen, die versuchen wollen, mir zu helfen.

Wie Sie sehen können, die alte „kompiliert“ von der Komponente des gelben Hintergrund zeigen, aber wenn ich eine neue Komponente eine (von der linken Werkzeugleiste in Visual Studio) kann ich die neue Komponente mit dem vermeintlichen weißen Hintergrund hat .. .

War es hilfreich?

Lösung

Dies ist höchstwahrscheinlich auf Referenzen .

Ihre anderen Projekte wahrscheinlich kopieren in einem Referenz , um Ihre Komponente Projekt. Sie werden diese Projekte für den Wiederaufbau haben für sie in der referenzierten Komponente Projekt erneut zu kopieren, wenn sie sich geändert hat. Es wird nur bei der Erstellung aktualisiert.

Sie können etwas dies umgehen, indem sie Teil der gleichen Lösung mit. In diesem Fall können Sie Ihre Projektabhängigkeiten einrichten richtig und es sollte die Dinge handhaben für Sie meist automatisch. Aber mit allem in der gleichen Lösung ist nicht immer das Richtige zu tun.

Wenn Sie bereits sie Teil der gleichen Lösung haben oder es ist kein Problem Referenzen, könnte es sein, aufgrund Komponente Serialisierung . Wir haben laufen in diese viel Quirk, wenn benutzerdefinierte Steuerung Entwicklung zu tun.

Andere Tipps

Meine Vermutung ist, dass der Designer smart ist und merkt sich die Einstellungen für die Komponente, wie Sie es im Designer haben und somit sieht es als Standard.

Das ist nicht üblich klingen. Ein Rechtsklick auf der Lösung und das Schlagen „Clean Solution“ helfen könnte (es wird alle DLLs und ausführbaren Dateien aus jedem Projekt ist-Verzeichnis zu löschen, die frischen Kräfte baut auf)

Sie können auch wollen Buildreihenfolge überprüfen.

ich an einem Projekt arbeiten, das ein ähnliches Problem hat, habe ich festgestellt, dass, wenn Sie die .NET-Konfigurationsdatei oder Montageinformationsdatei (je nach Projekttyp) berühren. Die anderen Projekte werden dann die Komponente Änderung widerspiegeln ...

Ich bin mir nicht sicher, warum dies geschieht, aber das ist, wie ich überwunden es ...

Vor kurzem habe ich Schalter, um alles über Nant bauen, und das kümmert sich um das Problem überhaupt.

Manchmal Visual Designer serialisiert alle Objekte im Code-Behind, auch wenn sie den Standardwert haben.

Wenn Ihre Komponente eine Standard-Hintergrundfarbe von Rot haben, und Sie die Standard-Hintergrundfarbe zu Blau ändern, werden die Komponenten, die Ihre Komponente verwenden, wird es auf rot zurück.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top