Udostępnij przez


Omówienie usuwania zależności

Składniki rozwiązania są często zależały od innych składników rozwiązania. Nie można usunąć żadnego komponentu rozwiązania, który ma zależności z innego komponentu rozwiązania. Zależności to rekordy tworzone automatycznie przez środowisko rozwiązań w celu zapobieżenia usunięciu wymaganych składników, gdy jeden lub kilka składników zależnych nadal zawiera do nich odwołania.

Przykładem zależności jest sytuacja, w której pole jest wymagane do działania formularza, a próba wykonania akcji, która powoduje usunięcie tego pola, powoduje usunięcie tego pola, a formularz przestanie działać.

Innym przykładem jest próba usunięcia mapy witryny dla aplikacji opartej na modelu. System wskazuje, że istnieje zależność od aplikacji. Aplikacja jest składnikiem zależnym, a mapa witryny jest wymaganym komponentem. System uniemożliwia usunięcie mapy witryny, dopóki nie usuniesz zależności.

System wykrywa zależność, w której aplikacja jest zależna od mapy witryny.

Notatka

Usunięcie oznacza, że komponent został całkowicie usunięty Microsoft Dataverse.

W tym artykule opisano sposób obsługi tych zależności i strategii, których można użyć w celu usunięcia zależności, które nie są już potrzebne.

Zależności między składnikami niezarządzanymi a zarządzanymi

Po pierwsze, ważne jest, aby zrozumieć, że zależności uniemożliwiają tylko operacje, które usuwają wymagany składnik. Czynności, które mogą usunąć składnik, różnią się w zależności od tego, czy jest on zarządzany, czy nie.

Dobrze jest być zaznajomionym z pojęciem warstw rozwiązania i komponentów podczas opisywania zależności. Jeśli nie jesteś zaznajomiony, zalecamy przeczytanie tego artykułu przed kontynuacją: Warstwy rozwiązania

Składniki niezarządzane

Te składniki są reprezentowane przez jedną warstwę w aktywnym rozwiązaniu. Każda operacja Usunięcia na takim składniku powoduje pełne usunięcie składnika.

Składniki zarządzane

Usuwanie zarządzanych składników zależne jest od wielu czynników: liczby warstw rozwiązań, względnego położenie odinstalowywanej warstwy i wydawców składników. Na przykład, kiedy składnik jest usuwany, należy wziąć pod uwagę następujące scenariusze i określić, jakie będzie oczekiwane zachowanie podczas odinstalowywania poszczególnych warstw.

Przykładowe scenariusze

Poniższe przykładowe scenariusze ilustrują, co się dzieje z warstwami rozwiązań podczas odinstalowywania rozwiązań.

Scenariusz 1: Odinstalowywanie jednej warstwy rozwiązań

Odinstalowywanie jednej warstwy.

Odinstalowanie rozwiązania 1 spowoduje usunięcie składnika, ponieważ jest to jedyna warstwa składnika.

Scenariusz 2: Odinstalowywanie warstw rozwiązań od różnych wydawców

Odinstalowywanie dwóch warstw — różny wydawca.

  • Odinstalowanie rozwiązania 2 nie spowoduje usunięcia składnika. Usuwana jest tylko ta warstwa.
  • Odinstalowanie rozwiązania 1 spowoduje usunięcie składnika, ponieważ działanie to ma miejsce w warstwie bazowej. W rzeczywistości rozwiązania 1 nie można odinstalować w tym scenariuszu, ponieważ rozwiązanie innego wydawcy rozszerza składnik.

Scenariusz 3: Odinstalowywanie wielu warstw rozwiązań od różnych wydawców

Odinstalowywanie wielu warstw — różny wydawca.

  • Odinstalowanie rozwiązania 3 nie spowoduje usunięcia składnika. Usuwana jest tylko ta warstwa.
  • Odinstalowanie rozwiązania 2 nie spowoduje usunięcia składnika. Usuwana jest tylko ta warstwa.
  • Odinstalowanie rozwiązania 1 nie powoduje usunięcia składnika, ponieważ w tym przypadku istnieje inne rozwiązanie od tego samego wydawcy (Wydawca A = Wydawca C). Platforma usunie warstwę z rozwiązania 1 i zamieni ją na warstwę z rozwiązania 3.

Scenariusz 4: Odinstalowywanie warstw rozwiązania w dostosowaniu niezarządzanym

Odinstalowywanie z użyciem dwóch warstw — dostosowanie niezarządzanych.

  • Odinstalowanie aktywnej (niezarządzanej) warstwy nie powoduje usunięcia komponentu. Usuwana jest tylko ta warstwa. Należy pamiętać, że nie można odinstalować aktywnego rozwiązania, ale można usunąć składniki za pomocą funkcji Usuń aktywne dostosowywanie .
  • Odinstalowanie rozwiązania 1 spowoduje usunięcie składnika. Działanie występuje w warstwie podstawowej. W przeciwieństwie do scenariusza 2, w tej sytuacji można odinstalować rozwiązanie 1. Aktywne rozwiązanie nie jest uznawane za rozszerzenie, a obie warstwy są usuwane.

Strona Pokaż zależności

Polecenie Pokaż zależności wyświetla listę zależności dla wybranego rozwiązania lub składnika rozwiązania. Można się do niego odwoływać za pomocą:

  • Zaznaczenia pola wyboru Pokaż zależności na stronie rozwiązania.
  • Wybrania pozycji Zaawansowane>Pokaż zależności w rozwiązaniu po wybraniu składnika rozwiązania.
  • Próba odinstalowania rozwiązania, co powoduje, że platforma wykrywa, że istnieją zależności.

Na stronie Zależności można otworzyć, usunąć lub usunąć składnik. Więcej informacji: Wyświetlanie zależności składnika

Diagnozowanie zależności

Rozważmy ten scenariusz. Środowisko w tym miejscu ma dwa rozwiązania: Rozwiązanie — przepływ pracy i Rozwiązanie — encja niestandardowa.

Lista rozwiązań z dwoma rozwiązaniami.

Twórca środowiska decyduje, że nie wymaga już rozwiązania — encji niestandardowej. Twórca próbował go usunąć i została mu wyświetlona następująca strona:

Szczegóły zależności po próbie usunięcia rozwiązania.

Odinstalowanie rozwiązania polega na próbie usunięcia tabeli o nazwie Encja niestandardowa i trzech pól — Encja niestandardowa, Nazwa i Pole liczbowe — a wszystkie cztery składniki mają zależności.

Notatka

Odinstalowanie rozwiązania może spowodować usunięcie większej liczby składników, ale ponieważ nie istnieją pomiędzy nimi zależności, nie będą one widoczne na liście.

Kolejna czynność polega na sprawdzeniu łącza Warstwy rozwiązań (kolumna po prawej stronie) dla każdej zależności. Pomaga to zdecydować, co zrobić, aby usunąć zależność.

Na poniższej ilustracji przedstawiono szczegóły zależności między tabelą (encja niestandardowa) a procesem (przepływ pracy testu).

Szczegóły zależności tabel niestandardowych.

Na podstawie wyświetlanych danych można zaobserwować, że składnik zależny należy do rozwiązania o nazwie SolutionWorkflow. Aby usunąć tę zależność, można wybrać jedną z następujących opcji:

  • Zaktualizuj definicję przepływu pracy w SolutionWorkflow, usuwając wszelkie odwołania do tabeli lub jej składników podrzędnych. Następnie Zaktualizować lub Uaktualnić rozwiązanie.
  • Odinstalować rozwiązanie SolutionWorkflow.
  • Usuń przepływ pracy z nowej wersji rozwiązania SolutionWorkflow, a następnie dokonaj Uaktualnienia.

Ponieważ którykolwiek ze składników zależnych może blokować usunięcie rozwiązania, zaleca się sprawdzenie wszystkich zależności i wprowadzenie wszystkich niezbędnych zmian w jednej operacji.

Na poniższej ilustracji przedstawiono szczegóły zależności między tabelą (encja niestandardowa) a aplikacją opartą na modelu (MyApp).

Zależność między tabelą (encja niestandardowa) a aplikacją (moja aplikacja).

Na podstawie wyświetlanych danych można zaobserwować, że składnik zależny należy do rozwiązania o nazwie Active. Oznacza to, że zależność została utworzona przez zaimportowanie rozwiązania niezarządzanego lub poprzez dostosowanie niezarządzane, które zostało wykonane za pośrednictwem nowoczesnego interfejsu użytkownika lub API.

Aby usunąć tę zależność, można wybrać jedną z następujących opcji:

  • Edytować definicję aplikacji opartej na modelu w celu usunięcia wszystkich odwołań do encji lub jej podskładników. Ponieważ aplikacje oparte na modelu obsługują publikowanie, należy opublikować zmiany.
  • Usuwanie aplikacji opartej na modelu.

Notatka

Odinstalowywanie rozwiązania niezarządzanego nie jest dobrym podejściem do usunięcia tej zależności, ponieważ rozwiązania niezarządzane to tylko środki umożliwiające grupowanie składników.

Akcje usuwania zależności zarządzanej

Zależności zarządzane są takie, w których składnik zależny jest skojarzony z rozwiązaniem zarządzanym. Aby rozwiązać ten rodzaj zależności, należy najpierw działać w rozwiązaniu, w którym dodano składnik. Ta akcja może się różnić w zależności od czynności, które należy wykonać.

Jeśli próbujesz odinstalować rozwiązanie

Wykonaj te kroki:

  1. W środowisku docelowym sprawdź łącze Warstwy rozwiązania, aby dowiedzieć się, które rozwiązanie znajduje się najwyżej na liście składnika zależnego.
  2. W środowisku źródłowym przygotuj nową wersję tego rozwiązania, w której rozwiązanie nie zawiera składnika zależnego lub ma zaktualizowaną wersję składnika zależnego, która nie zawiera odwołań do wymaganego składnika. Celem jest usunięcie wszelkich odwołań do wymaganych składników w nowej wersji rozwiązania.
  3. Wyeksportuj nową wersję rozwiązania.
  4. W środowisku docelowym uaktualnij to rozwiązanie.
  5. Ponów próbę dezinstalacji.

Jeśli próbujesz uaktualnić rozwiązanie

W takim przypadku należy potwierdzić, że trzeba usunąć wymagany składnik (należy pamiętać, że zależności są wymuszane tylko dla składników, które są usuwane).

Jeśli użytkownik nie chce usunąć składnika, może stworzyć nową wersję rozwiązania, dodając składnik z powrotem, wykonując następujące czynności:

  1. W środowisku docelowym odinstaluj rozwiązanie etapowe (rozwiązanie, które kończy się na _Upgrade).
  2. W środowisku źródłowym dodaj wymagane składniki z powrotem do rozwiązania.
  3. Wyeksportuj nową wersję.
  4. Ponownie spróbuj uaktualnienia.

Jeśli usuwanie jest zamierzone, należy usunąć zależność. Spróbuj wykonać czynności opisane w poprzedniej sekcji,Jeśli próbujesz odinstalować rozwiązanie.

Warstwy i zależności

Składniki zależne mogą być warstwami, więc aby całkowicie usunąć zależność, konieczna może być zmiana więcej niż jednego rozwiązania. Struktura zależności powoduje jedynie obliczenie zależności między warstwami najwyższego poziomu dla składników wymaganych i zależnych. Oznacza to, że użytkownik musi przejść z góry do dołu na liście rozwiązań składnika zależnego.

Rozważmy następujący scenariusz:

Wybieranie rozwiązania do odinstalowania.

Użytkownik próbuje odinstalować Rozwiązanie — encja niestandardowa, a operacja jest blokowana przez zależności.

Zależności blokujące odinstalowanie rozwiązania.

Aby rozpocząć rozpoznawanie zależności, należy wybrać Warstwy rozwiązania w atrybucie new_numberfield. Zobaczysz następujący ekran:

Zależność między atrybutem new_numberfield i testowym przepływem pracy.

Ponieważ zależności są tworzone tylko między warstwami najwyższego poziomu poszczególnych składników, pierwszym krokiem jest ujęcie zależności atrybutu new_numberfield w warstwie SolutionCustomEntity a przepływem Testowy przepływ pracy w SolutionWorkflow3.

W celu usunięcia zależności decydujesz się odinstalować SolutionWorkflow3. Robisz tak, ale podczas próby odinstalowania rozwiązania jest wyświetlana ta sama strona z zależnościami:

Zależności blokujące dezinstalację Rozwiązania — encja niestandardowa.

Jednak kolumna new_numberfield nie jest już wyświetlana, nawet jeśli istniała w większej liczbie warstw.

Akcje usuwania zależności niezarządzanej

Aby usunąć zależności niezarządzane, należy bezpośrednio działać ze składnikami, a nie w rozwiązaniach, do których należą. Na przykład, aby usunąć zależności między kolumną a formularzem, należy go edytować w projektancie formularzy i usunąć kolumnę z formularza. Zależność zostanie usunięta po wybraniu pozycji Zapisz i opublikuj.

Notatka

  • Polecenie Pokaż zależności umożliwia wykonywanie akcji wyświetlania, usuwania zależności, edytowania składnika lub usuwania składnika. Więcej informacji: Wyświetlanie zależności składnika
  • Przycisk Wyświetl zależności pojawia się podczas próby usunięcia składnika, który ma zależności. Mimo że ten ekran umożliwia wyświetlenie zależności, nie pozwala na podjęcie działania.
  • Gdy usuniesz składnik zależny, akcja usunie wszystkie zależności wraz ze składnikiem.

Aby wyświetlić zależności składnika, w obszarze Rozwiązania otwórz odpowiednie rozwiązanie, wybierz pionowy wielokropek obok składnika, a następnie wybierz pozycje Zaawansowane>Pokaż zależności.

Strona zależności zawiera dwie oddzielne części:

  • Składniki zależne: lista składników, które są zależne od wybranej kolumny. Innymi słowy, te składniki mają tę kolumnę jako wymagany składnik.
  • Wymagane składniki: lista składników wymaganych w tej kolumnie do działania. Innymi słowy, te składniki mają tę kolumnę jako składnik zależny.

Zależności składników.

Następne kroki