Verwendung der Quellcodeverwaltung mit Lösungsdateien
Veröffentlicht: Januar 2017
Gilt für: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online
Das SolutionPackager-Tool kann für jedes beliebige Quellcodeverwaltungssystem verwendet werden. Nachdem eine Lösungs-.zip-Datei in einen Ordner extrahiert wurde, fügen Sie einfach die Dateien zu Ihrem Quellcodeverwaltungssystem hinzu. Diese Dateien können dann auf einem anderen Computer synchronisiert werden, wo sie in eine neue identische Lösungs-.zip-Datei gepackt werden können.
Ein wichtiger Aspekt der Verwendung extrahierter Komponentendateien bei der Quellcodeverwaltung besteht darin, dass das Hinzufügen aller Dateien zur Quellcodeverwaltung zu unnötigen Duplizierungen führen kann. Siehe Solution component file reference (SolutionPackager), um zu überprüfen, welche Dateien für jeden Komponententyp generiert werden, und welche Dateien für die Verwendung in der Quellcodeverwaltung empfohlen werden.
Wenn weitere Anpassungen und Änderungen für die Lösung erforderlich sind, sollten Entwickler vorhandene Komponenten mit bestehenden Methoden bearbeiten oder anpassen, sie erneut exportieren, um eine .zip-Datei zu erstellen und die komprimierte Lösungsdatei in den gleichen Ordner extrahieren.
Wichtig
Die manuelle Bearbeitung extrahierter Komponentendateien und .zip-Dateien wird nicht unterstützt.
Wenn das SolutionPackager-Tool die Komponentendateien extrahiert, überschreibt es nicht die vorhandenen Komponentendateien mit demselben Namen, wenn der Inhalt der Dateien identisch ist. Darüber hinaus beachtet das Tool das Schreibschutzattribut der komponentendateien und gibt eine Warnung im Konsolenfenster aus, dass einige Dateien nicht überschrieben wurden. Dadurch kann der Benutzer den minimalen Dateiensatz aus der Quellcodeverwaltung auschecken, die sich geändert haben. Der Parameter /clobber kann verwendet werden, um die Dateien zu überschreiben und schreibgeschützte Dateien schreiben oder löschen zu lassen. Der Parameter /allowWrite kann verwendet werden, um zu bewerten, welche Auswirkungen ein Extrahierungsvorgang hat, ohne dass dabei Dateien geschrieben oder gelöscht werden. Die Verwendung des Parametes /allowWrite mit ausführlicher Protokollierung ist effektiv.
Nach dem Abschluss des Extrahierungsvorgangs mit dem Auschecken des Minimalsatzes von Dateien aus der Quellcodeverwaltung kann der Entwickler die geänderten Dateien wieder in die Quellcodeverwaltung zurückgeben, wie bei anderen Dateitypen auch.
In diesem Thema
Team-Entwicklung
Erstellen einer Lösung
Ändern einer Lösung
Team-Entwicklung
Wenn mehrere Entwickler an derselben Lösungskomponente arbeiten, entsteht möglicherweise ein Konflikt, wobei Änderungen von zwei Entwicklern zu Änderungen an einer einzelnen Datei führen. Diese Gefahr wird vermindert, indem jede einzeln bearbeitbare Komponente oder Unterkomponente in eine distinkte Datei zerlegt wird. Betrachten Sie das folgende Beispiel.
Entwickler A und Entwickler B arbeiten beide an derselben Lösung.
Auf unabhängigen Computern erhalten beide die neuesten Quellen der Lösung von der Quellcodeverwaltung, packen und importieren eine nicht verwaltete Lösungs-.zip-Datei in unabhängige Microsoft Dynamics 365-Organisationen.
Entwickler A passt die "Aktive Kontakte"-Systemansicht und das Hauptformular für die Kontaktentität an.
Entwickler B passt die Hauptformular für die Kontoentität an und ändert die Ansicht "Kontaktsuche".
Beide Entwickler exportieren eine nicht verwaltete Lösungs-.zip-Datei und extrahieren sie.
Entwickler A muss eine Datei für das Kontakthauptformular und eine Datei für Ansicht "Aktive Kontakte" auschecken.
Entwickler B muss eine Datei für das Kontohauptformular und eine Datei für Ansicht "Kontaktsuche" auschecken.
Beide Entwickler können, in beliebiger Reihenfolge, ihre Dateien einreichen, da sich ihre Änderungen auf verschiedene Dateien auswirken.
Wenn beide Einreichungen abgeschlossen sind, können Sie Schritt 2 wiederholen und dann weitere Änderungen in ihren unabhängigen Organisationen vornehmen. Beide haben beide Sätze von Änderungen, ohne dass ihre Arbeit überschrieben wurde.
Dieses Beispiel funktioniert nur bei Änderungen an separaten Dateien. Es ist unvermeidlich, dass unabhängige Anpassungen Änderungen innerhalb einer einzelnen Datei erfordern. Denken Sie auf der Grundlage dieses Beispiels daran, dass Entwickler B die Ansicht "Aktive Kontakte" angepasst hat, während Entwickler A dies auch tat. Im nächsten Beispiel ist jedoch die Reihenfolge der Ereignisse wichtig. Der vollständige Prozess ist wie folgt.
Entwickler A und Entwickler B arbeiten beide an derselben Lösung.
Auf unabhängigen Computern erhalten beide die neuesten Quellen der Lösung von der Quellcodeverwaltung, packen und importieren eine nicht verwaltete Lösungs-.zip-Datei in unabhängige Organisationen.
Entwickler A passt die "Aktive Kontakte"-Systemansicht und das Hauptformular für die Kontaktentität an.
Entwickler B passt die Hauptformular für die Kontoentität an und ändert die Ansicht "Aktive Kontakte".
Beide Entwickler exportieren eine nicht verwaltete Lösungs-zip-Datei und extrahieren sie.
Entwickler A muss eine Datei für das Kontakthauptformular und eine Datei für Ansicht "Aktive Kontakte" auschecken.
Entwickler B muss eine Datei für das Kontohauptformular und eine Datei für Ansicht "Aktive Kontakte" auschecken.
Entwickler A ist zuerst fertig.
Bevor er seine Arbeit an die Quellcodeverwaltung übergibt, muss er die neuesten Quellen erhalten, um sicherzustellen, dass keine vorherigen Eincheckungen im Konflikt mit seinen Änderungen stehen.
Es gibt keine Konflikte, deshalb kann er seine Arbeit übergeben.
Entwickler B. ist nach Entwickler A fertig.
Bevor er seine Arbeit übergibt, muss er die neuesten Quellen erhalten, um sicherzustellen, dass keine vorherigen Eincheckungen im Konflikt mit seinen Änderungen stehen.
Es gibt einen Konflikt, da die Datei für "Aktive Kontakte" geändert wurde, seit er zuletzt die neuesten Quellen abgerufen hat.
Entwickler B muss den Konflikt auflösen. Es ist möglich, dass die Funktionen des verwendeten Quellcodeverwaltungssystems diesen Prozess unterstützen; andernfalls bestehen die folgenden Möglichkeiten.
Entwickler B kann über die Quellcodeverwaltungshistorie, falls verfügbar, sehen, dass Entwickler A die Änderung vorgenommen hat. Beide Entwickler können direkt über die Änderung sprechen. Dann muss Entwickler B lediglich seine Organisation mit der besprochenen Änderung aktualisieren. Anschließend exportiert, extrahiert und überschreibt er die fragliche Datei und reicht sie ein.
Die Quellcodeverwaltung kann seine lokale Datei überschreiben. Entwickler packt B die Lösung und importiert sie in seine Organisation, dann prüft er den Status der Ansicht und nimmt entsprechende Anpassungen vor. Anschließend kann der die fragliche Datei exportieren, extrahieren und überschreiben.
Wenn die vorherige Änderung als unnötig angesehen werden kann, erlaubt Entwickler B, dass seine Kopie der Datei die Version in der Quellcodeverwaltung überschreibt, und reicht sie ein.
Ob in gemeinsam genutzten oder unabhängigen Organisationen, die Team-Entwicklung von Microsoft Dynamics 365-Lösungen erfordert, dass alle, die an einer gemeinsamen Lösung arbeiten, die Arbeit der anderen beteiligten kennen. Das SolutionPackager-Tool beseitigt diese Notwendigkeit nicht vollständig, erlaubt aber das einfache Zusammenführen nicht im Konflikt stehender Änderungen auf Quellcodeverwaltungsebene und meldet proaktiv die Komponenten, bei denen Konflikte aufgetreten sind.
Die folgenden Abschnitte enthalten die generischen Prozesse für die effektive Verwendung des SolutionPackager-Tools in der Quellcodeverwaltung bei der Entwicklung in Teams. Diese funktionieren gleichermaüen in unabhängigen und in gemeinsam genutzten Entwicklungsorganisationen, obwohl im letzteren Fall der Export und die Extrahierung natürlich alle Änderungen beinhalten, die innerhalb der Lösung vorgenommen wurden, und nicht nur die, die der Entwickler vorgenommen hat, der den Export durchführt. Entsprechend tritt beim Import einer Lösungs-.zip-Datei das natürliche Verhalten des Überschreibens aller Komponenten auf.
Erstellen einer Lösung
Die folgende Prozedur identifizeirt die typischen Schritte bei der ersten Erstellung einer Lösung.
Erstellen Sie in einer sauberen Organisation eine Lösung auf dem Microsoft Dynamics 365-Server, und erstellen Sie dann nach Bedarf die Komponenten, oder fügen Sie sie hinzu.
Wenn Sie bereit sind zum Einchecken, gehen Sie wie folgt vor.
Exportieren Sie die nicht verwaltete Lösung.
Extrahieren Sie mithilfe des SolutionPackager-Tools die Lösung in Komponentendateien.
Fügen Sie aus diesen extrahierten Komponentendateien die erforderlichen Dateien der Quellcodeverwaltung hinzu.
Übergeben Sie diese Änderungen an die Quellcodeverwaltung.
Ändern einer Lösung
Die folgende Prozedur identifizeirt die typischen Schritte beim Ändern einer vorhandenen Lösung.
Synchronisieren Sie die neuesten Lösungskomponentendateiquellen, oder rufen Sie sie ab.
Packen Sie mit dem SolutionPackager-Tool die Komponentendateien in eine nicht verwaltetei .zip-Lösungsdatei.
Importieren Sie die Datei der nicht verwalteten Lösung in eine Organisation.
Passen Sie die Lösung nach Bedarf an.
Wenn Sie bereit, die Änderungen in Quellsteuerelement sicherzustellen, die folgenden Schritte aus.
Exportieren Sie die nicht verwaltete Lösung.
Extrahieren Sie mithilfe des SolutionPackager-Tools die exportierte Lösung in Komponentendateien.
Synchronisieren Sie die neuesten Quellen, oder rufen Sie sie aus der Quellcodeverwaltung ab.
Lösen Sie eventuelle Konflikte.
Übergeben Sie die Änderungen an die Quellcodeverwaltung.
Die Schritte 2 und 3 müssen ausgeführt werden, bevor weitere Anpassungen in der Entwicklungsorganisation vorgenommen werden. In Schritt 5 muss Schritt b vor Schritt c abgeschlossen werden.
Siehe auch
Lösungstools für die Teamentwicklung
Solution component file reference (SolutionPackager)
Verwenden des SolutionPackager-Tools, um eine Lösungsdatei zu komprimieren und zu extrahieren
Microsoft Dynamics 365
© 2017 Microsoft. Alle Rechte vorbehalten. Copyright