Gleichzeitiges Auschecken und Durchführen von Änderungen an SDM (System Definition Model)-Dokumenten

Aktualisiert: November 2007

Aufgrund der Struktur und Komplexität der Metadaten in SDM-Dokumenten, z. B. SDM-Dateien und Dateien für verteilte Systemdiagramme (.ad, .sd, .dd und .ldd), sollten Sie in den Designern für verteilte Systeme diese Dokumente nicht zusammenführen oder gleichzeitig aus der Quellcodeverwaltung auschecken. Wenn Sie die Version der Quellcodeverwaltung von Visual Studio ((Team Foundation oder Visual SourceSafe) verwenden, ist exklusives Ausschecken standardmäßig aktiviert, das das Auschecken einer Datei durch jeweils nur einen Benutzer zulässt.

Hinweis:

Wenn eine Anwendung, die Implementierung unterstützt, im Anwendungsdiagramm implementiert ist, wird das entsprechende Projekt generiert und in der Projektmappe angezeigt. Die SDM-Definition der implementierten Anwendung wird in einer SDM-Datei gespeichert und in das entsprechende Projekt eingefügt. Weitere Informationen finden Sie unter Übersicht über das System Definition Model (SDM) und Beziehungen zwischen SDM (System Definition Model)-Dokumenten.

Anwendungsdiagramme sollten nicht zusammengeführt werden. Nachdem eine Anwendung implementiert wurde, ist der Code die Masterdefinition für die Anwendung, und Änderungen von Diagramm und Code werden miteinander synchronisiert. Da Anwendungscodedateien und Konfigurationsdateien die Quellen einer SDM-Definition sind, bestimmen die Ergebnisse der Zusammenführung von Code- und Konfigurationsdateien letztendlich die endgültige Version der SDM-Definition in der SDM-Datei.

Hinweis:

In Team Foundation können Sie ausstehende Änderungen zurückstellen. Dies wird jedoch nicht empfohlen, wenn dann SDM-Dokumente zusammengeführt werden müssen. Wenn Sie z. B. Einstellungen oder Einschränkungen in Konfigurationsdateien ändern, die Änderungen zurückstellen und anschließend diese Änderungen und Einschränkungen erneut ändern, müssen Sie SDM-Dokumente zusammenführen. Weitere Informationen finden Sie unter Arbeiten mit Versionskontrollshelvesets.

Bei jedem Öffnen oder Schließen des Anwendungsdiagramms werden die relevanten Änderungen von Projektcode mit der SDM-Datei und dem Anwendungsdiagramm synchronisiert. Wenn die Anwendungsdiagrammdatei (.ad) oder eine SDM-Datei nicht mehr mit dem Code synchronisiert ist, können Sie sie daher durch Schließen und erneutes Öffnen des Anwendungsdiagramms neu synchronisieren. Weitere Informationen finden Sie unter Synchronisierung zwischen SDM (System Definition Model)-Dokumenten.

Hinweis:

Daten in SDM-Dokumenten, die nicht aus einer anderen Quelle erneut erstellt werden können, z. B. Präsentationsdaten oder in SDM-Dateien gespeicherte SDM-Informationen, gehen unwiderruflich verloren, wenn das Dokument gelöscht wird oder wenn die Informationen aufgrund einer Zusammenführungsoperation verloren gehen. Dies ist das einzige Szenario, in dem Informationen verloren gehen können, weil Diagramm- oder SDM-Dateien nicht zusammengeführt wurden. Aus diesem Grund sollten Sie auf keinen Fall Definitionen gleichzeitig bearbeiten oder zusammenführen, die nur in SDM-Dateien gespeichert sind. Beispielsweise werden Webinhaltsendpunkte in einer ASP.NET-Anwendung nicht zurückentwickelt, wenn eine neue SDM-Datei für eine gelöschte SDM-Datei neu generiert wird, in der SDM-Informationen für diese Endpunkte gespeichert waren. Weitere Informationen finden Sie unter Problembehandlung bei Anwendungsdiagrammen.

Gleichzeitiges Auschecken und Ändern von Anwendungsprojektdateien

Obwohl es sich nicht empfiehlt, können Sie ein gemeinsames Auschecken aktivieren, wenn Ihr Team gleichzeitige Änderungen an Projektdateien vornehmen möchte. Bestimmte Szenarien erfordern jedoch möglicherweise, dass diese Änderungen beim Einchecken von Projektdateien zusammengeführt werden. Dies kann zu Zusammenführungskonflikten führen, die aufgelöst werden müssen. Weitere Informationen finden Sie unter Gewusst wie: Konfigurieren von Auscheckeinstellungen, wenn Sie Team Foundation verwenden.

In einem solchen häufigen Szenario arbeiten mehrere Entwickler an unterschiedlichen Quellcodedateien in einem gemeinsamen Projekt Dieses Projekt kann mehrere Projektmappen umfassen, wobei jede Projektmappe ein eigenes Anwendungsdiagramm enthalten kann. Wenn die Projektmappe ein Anwendungsdiagramm und das Projekt eine SMD-Datei enthält, erfordern Änderungen oder gleichzeitige Änderungen von Code- oder Konfigurationsdateien im Projekt möglicherweise ein Aktualisieren der SDM-Datei. Wenn das Projekt eingecheckt wird, müssen Sie daher gleichzeitige Änderungen der SDM-Datei zusammenführen oder einen Satz von Änderungen der SDM-Datei verwerfen.

Angenommen, zwei Entwickler arbeiten an der gleichen Projektmappe. Der erste Entwickler möchte die Webdienstklassendatei für eine ASP.NET-Anwendung bearbeiten und checkt die Projektmappe aus, die das Anwendungsprojekt enthält. Dieser Entwickler kann mit Projektcode arbeiten, ohne das Anwendungsdiagramm oder andere ggf. in der Projektmappe vorhandene Diagramme zu öffnen. Änderungen an Codedateien können sich dennoch auf diese Diagramme auswirken. Wenn dieser Entwickler das Anwendungsdiagramm öffnet, wird er aufgefordert, das Diagramm ggf. zusammen mit weiteren für die Synchronisierung erforderlichen Projektdateien auszuchecken.

Hinweis:

Wenn der Entwickler das Auschecken abbricht oder wenn das Diagramm aus irgend einem Grund nicht ausgecheckt werden kann, wird das Diagramm gesperrt. Der Entwickler kann jedoch weiterhin Änderungen an Code vornehmen. Weitere Informationen finden Sie unter Problembehandlung bei Anwendungsdiagrammen.

Angenommen, der zweite Entwickler muss dasselbe Projekt in derselben Projektmappe bearbeiten und checkt dieses Projekt je nach der verwendeten Lösung für die Quellcodeverwaltung aus. Der zweite Entwickler bearbeitet jedoch eine Klassendatei für einen anderen Webdienst in derselben Anwendung. Wenn der zweite Entwickler das Anwendungsdiagramm anzeigen möchte, um zu überprüfen, wie Änderungen in dem Diagramm wiedergegeben werden, kann er das Diagramm nur in einem schreibgeschützten Zustand anzeigen, da es bereits für den zweiten Entwickler ausgecheckt ist. Der zweite Entwickler kann jedoch weiterhin Code über den Code-Editor ändern.

Wenn einer der beiden Entwickler seine Änderungen abgeschlossen hat, werden diese in die Quellcodeverwaltung eingecheckt. Zu diesem Zeitpunkt müssen Zusammenführungskonflikte in gleichzeitig ausgecheckten Dateien aufgelöst sein. In den meisten Fällen werden einige Änderungen der SDM-Datei statt anderer Änderungen übernommen, und das Anwendungsdiagramm wird entsprechend dem zusammengeführten Code mit der SDM-Datei synchronisiert. In diesem Szenario, in dem der zweite Entwickler eine andere Webdienstklassendatei bearbeitet, kann jedoch eine SDM-Datei gefahrlos statt der anderen übernommen werden, da das Anwendungsdiagramm mit dem Code und anschließend mit der SDM-Datei synchronisiert wird.

Weitere Informationen finden Sie unter Gewusst wie: Auflösen von Konflikten in SDM (System Definition Model)-Dokumenten.

Siehe auch

Konzepte

Aufteilen von verteilten Systemprojektmappen für die Implementierung

Weitere Ressourcen

Dokumentation zu Team Foundation

Designer für verteilte Systeme in Teamumgebungen