Freigeben über


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.

Beispiel für zwei Lösungen mit Abhängigkeiten voneinander.

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:
  1. Wechseln Sie zur Quellumgebung von Lösung A, und bearbeiten Sie Komponente 2, um die Abhängigkeit von Komponente 3 zu entfernen.
  2. 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.

Beispiel für das Entfernen der Abhängigkeit von Lösung B für Lösung A.

Option 2:
  1. Wechseln Sie zur Quellumgebung von Lösung B, und bearbeiten Sie Komponente 4, um die Abhängigkeit von Komponente 1 zu entfernen.
  2. 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.

Beispiel für das Entfernen der Abhängigkeit von Lösung A für Lösung B.

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.