Fehler "Fehler beim Löschen der Lösung" aufgrund zirkulärer Abhängigkeiten zwischen zwei Lösungen
Gilt für: Power Platform, Lösungen
Dieser Artikel enthält eine Problemumgehung für ein Problem, bei dem das Löschen einer Lösung aufgrund zirkulärer Abhängigkeiten zwischen zwei Lösungen fehlschlägt. Zirkelabhängigkeiten sind vorhanden, wenn die beiden Lösungen jeweils Abhängigkeiten von einer Komponente aus der anderen Lösung aufweisen.
Tipp
Um Zirkelabhängigkeiten zwischen den beiden Lösungen zu vermeiden, verwenden Sie unterschiedliche Umgebungen für die Entwicklung verschiedener Lösungen. Die Isolierung von Umgebungen ist bei der Verwendung von Komponenten wie Daten und Tabellen von entscheidender Bedeutung.
Symptome
Wenn Sie eine Lösung löschen (deinstallieren), erhalten Sie den folgenden Fehler, der angibt, dass eine Abhängigkeit von einer anderen Lösung vorhanden ist:
Fehler beim Löschen des Lösungslösungsnamens<>. Lösungsabhängigkeiten sind vorhanden, können nicht deinstalliert werden.
Derselbe Fehler tritt auf, wenn Sie versuchen, die andere Lösung zu löschen, die im Fehler angegeben ist, während Sie die erste Lösung löschen. Dies ist eine Zirkelabhängigkeit.
Ursache
Zirkuläre Abhängigkeiten zwischen Lösungen können aufgrund mangelnder Isolation der Entwicklungsumgebung für verschiedene Lösungen auftreten. Sie führt zu unbeabsichtigten Komponentenabhängigkeiten zwischen zwei Lösungen, die in derselben Umgebung entwickelt werden.
Problemumgehung
Um die zirkulären Abhängigkeiten zwischen den beiden Lösungen zu umgehen, müssen Sie zuerst die Abhängigkeiten zwischen verschiedenen Lösungen verstehen. Wenn Fehler auftreten, die eine Zirkelabhängigkeit angeben, wählen Sie in der Benachrichtigung die Schaltfläche "Abhängigkeiten anzeigen" aus.
Die Abhängigkeiten zeigen alle Komponenten an, die von der Lösung abhängig sind, die Sie deinstallieren möchten. Sie können jede Komponente in der Liste auswählen und "Lösungsebenen anzeigen" auswählen, um die abhängigen Lösungen zu finden, aus denen die Komponente stammt.
Beispiel
Lösung A und Lösung B haben beispielsweise Abhängigkeiten voneinander. Wie im Diagramm dargestellt:
- Lösung A verfügt über zwei Komponenten, Komponente 1 und Komponente 2.
- Lösung B verfügt über zwei Komponenten, Komponente 3 und Komponente 4.
- Komponente 2 von Lösung A hängt von Komponente 3 von Lösung B ab.
- Komponente 4 von Lösung B hängt von Komponente 1 von Lösung A ab.
- Sie können beide Lösungen aufgrund der Zirkelabhängigkeiten nicht löschen.
Upgrade zum Entfernen von Abhängigkeiten
Um die Zirkelabhängigkeiten zu beheben, arbeiten Sie an einer der beteiligten Lösungen, und aktualisieren Sie sie, um Abhängigkeiten vom anderen zu entfernen.
Option 1:
- Wechseln Sie zur Quellumgebung von Lösung A, und bearbeiten Sie Komponente 2, um die Abhängigkeit von Komponente 3 zu entfernen.
- Exportieren Sie Lösung A als neue Version, und aktualisieren Sie sie auf die Zielumgebung.
Sie dürfen Lösung B jetzt löschen, da Lösung A keine Abhängigkeit von Lösung B hat.
Option 2:
- Wechseln Sie zur Quellumgebung von Lösung B, und bearbeiten Sie Komponente 4, um die Abhängigkeit von Komponente 1 zu entfernen.
- Exportieren Sie Lösung B als neue Version, und aktualisieren Sie sie auf die Zielumgebung.
Sie dürfen Lösung A jetzt löschen, da Lösung B keine Abhängigkeit von Lösung A hat.
Aktive Änderung zum Entfernen von Abhängigkeiten
Wenn Sie die Abhängigkeiten entfernen möchten, um die Lösungen löschen zu können, entfernen Sie die Abhängigkeiten in der aktiven Ebene, und löschen Sie dann die Lösung.
Option 1:
Bearbeiten Sie in der Zielumgebung Komponente 2, und entfernen Sie die Abhängigkeit von Komponente 3 in der aktiven Ebene. Das Löschen von Lösung B ist jetzt zulässig. Sobald Lösung B gelöscht wurde, kann Lösung A ebenfalls gelöscht werden.
Option 2:
Bearbeiten Sie in der Zielumgebung Komponente 4, und entfernen Sie die Abhängigkeit von Komponente 1 in der aktiven Ebene. Das Löschen von Lösung A ist jetzt zulässig. Nachdem Lösung A gelöscht wurde, kann Lösung B ebenfalls gelöscht werden.