Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Jeśli dodasz tabelę do rozwiązania i wyeksportujesz rozwiązanie, wyeksportujesz tabelę i wszystkie powiązane zasoby w tym rozwiązaniu. Te zasoby obejmują kolumny (atrybuty), formularze, widoki, relacje i wizualizacje wraz z innymi zasobami spakowanymi z tabelą. Eksportowanie wszystkich obiektów oznacza, że można przypadkowo modyfikować obiekty we wdrożeniu docelowym lub przenosić niezamierzone zależności.
Aby rozwiązać problem z zależnościami, należy utworzyć i opublikować poprawki rozwiązania zawierające podskładniki tabel, a nie publikować całej tabeli i wszystkich jej zasobów. Możesz w późniejszym czasie scalić oryginalne rozwiązanie i co najmniej jedną powiązaną poprawkę w zaktualizowaną wersję rozwiązania, co może następnie zastąpić oryginalne rozwiązanie w organizacji docelowej Microsoft Dataverse.
Poprawki
Poprawki można stosować zarówno do rozwiązań zarządzanych, jak i niezarządzanych, i mogą one obejmować tylko zmiany odnoszące się do tabel i powiązanych zasobów tabel. Poprawki nie zawierają żadnych niezmodyfikowanych składników systemu ani relacji, od których zależą, ponieważ te składniki już istnieją w organizacji docelowej. W pewnym momencie cyklu programowania można scalić wszystkie poprawki w nową wersję rozwiązania, która zastąpi oryginalne rozwiązanie, na podstawie którego utworzono te poprawki.
Baza danych Dataverse przechowuje poprawki jako rekordy tabeli Solution. Atrybut ParentSolutionId, który nie jest nullem, oznacza, że rozwiązanie jest poprawką. Poprawki można tworzyć i zarządzać nimi za pomocą zestawu SDK dla platformy .NET lub interfejsów API sieci Web, które służą do tworzenia automatyzacji, takich jak skrypt do instalacji produktu. Jednak aplikacja internetowa Dataverse udostępnia różne formularze internetowe, które umożliwiają interaktywne tworzenie poprawek i zarządzanie nimi.
- Poprawki można tworzyć tylko na podstawie rozwiązania nadrzędnego przy użyciu CloneAsPatchRequestakcji CloneAsPatch.
- Element nadrzędny poprawki nie może być poprawką.
- Poprawki mogą mieć tylko jedną solucję nadrzędną.
- Poprawka tworzy zależność na poziomie rozwiązania od swojego rozwiązania nadrzędnego.
- Poprawkę można zainstalować tylko wtedy, gdy rozwiązanie macierzyste jest zainstalowane.
- Nie można zainstalować poprawki, chyba że unikatowa nazwa i główny/pomocniczy numer wersji rozwiązania nadrzędnego, zidentyfikowane przez
ParentSolutionId, są zgodne z unikatową nazwą i głównym/pomocniczym numerem wersji rozwiązania nadrzędnego zainstalowanego w organizacji docelowej. - Wersja poprawki musi mieć ten sam numer wersji głównej i pomocniczej, ale wyższy numer kompilacji i wydania niż numer wersji rozwiązania nadrzędnego. Nazwa wyświetlana może być inna.
- Jeśli rozwiązanie posiada poprawki, kolejne poprawki muszą posiadać wyższy numer wersji niż jakakolwiek istniejąca poprawka dla tego rozwiązania.
- Poprawki obsługują te same operacje co rozwiązania, takie jak aktualizacja przyrostowa, ale nie obsługują operacji usuwania. Nie można usunąć składników z rozwiązania przy użyciu poprawki. Aby usunąć składniki z rozwiązania, przeprowadź aktualizację.
- Należy importować poprawki wyeksportowane jako zarządzane na nadrzędnym rozwiązaniu zarządzanym. Reguła polega na tym, że ochrona poprawek (zarządzana lub niezarządzana) musi być dopasowana do obiektu nadrzędnego.
- Nie należy używać niezarządzanych poprawek w celach produkcyjnych.
Narzędzia SolutionPackager i PackageDeployer obsługują poprawki dla rozwiązań. Aby uzyskać informacje na temat opcji wiersza polecenia związanych z poprawkami, zapoznaj się z pomocą online narzędzia.
Utwórz łatkę
Utwórz poprawkę z rozwiązania niezarządzanego w środowisku za pomocą komunikatu CloneAsPatchRequest lub akcji CloneAsPatch, albo przy użyciu aplikacji internetowej. Po utworzeniu poprawki blokujesz oryginalne rozwiązanie i nie można go zmieniać ani eksportować, dopóki w środowisku istnieją poprawki zależne, które identyfikują to rozwiązanie jako rozwiązanie nadrzędne. Wersja poprawki jest podobna do wersji rozwiązania oraz jest określona w następującym formacie: major.minor.build.release. Podczas tworzenia poprawki nie można zmienić istniejących głównych lub podrzędnych wersji rozwiązania.
Eksportowanie i importowanie poprawki
Użytkownik może użyć pakietu SDK dla platformy .NET lub internetowych interfejsów API, aplikacji internetowej lub narzędzia Package Deployer w celu wyeksportowania i zaimportowania poprawki. Odpowiednimi pakietami SDK dla klas żądań platformy .NET są ImportSolutionRequest i ExportSolutionRequest. Odpowiednie akcje dla internetowego interfejsu API to ImportSolution Action i ExportSolution Action.
Przykłady stosowania poprawek
Poniższa tabela zawiera szczegółowe informacje na temat przykładu wprowadzania poprawki. W tym przykładzie importujesz rozwiązanie i poprawki w kolejności liczbowej i mają one charakter addytywny, co jest ogólnie zgodne z importem rozwiązań.
| Nazwa poprawki | Opis |
|---|---|
SolutionA, wersja 1.0 (niezarządzana) |
Zawiera entityA z sześcioma polami. |
SolutionA, wersja 1.0.1.0 (niezarządzana) |
Zawiera obiekt entityA z 6 polami (3 zaktualizowane) i dodaje entityB z 10 polami. |
SolutionA, wersja 1.0.2.0 (niezarządzane) |
Zawiera entityC zawierający 10 pól. |
Proces importowania przebiega następująco.
- Deweloper lub osoba dostosowująca najpierw importuje rozwiązanie podstawowe (
SolutionA1.0) do środowiska. Wynik toentityAz 6 polami w środowisku. - Następnie zaimportuj poprawkę
SolutionApatch 1.0.1.0. Środowisko zawiera terazentityAz sześcioma polami (trzy zaktualizowane), a takżeentityBz 10 polami. - Na koniec zaimportuj poprawkę
SolutionA1.0.2.0. Środowisko zawiera teraz obiektentityAz 6 polami (3 zaktualizowane), plusentityBzawierającą 10 pól plusentityCz 10 polami.
Kolejny przykład łatania
Przyjrzyjmy się innemu przykładowi stosowania poprawek. W poniższej tabeli wymieniono szczegóły.
| Nazwa poprawki | Opis |
|---|---|
SolutionA, wersja 1.0 (niezarządzana, rozwiązanie podstawowe) |
Zawiera tabelę Account, w której długość kolumny numeru konta jest korygowana z 20 na 30 znaków. |
SolutionB, wersja 2.0 (niezarządzana, inny dostawca) |
Zawiera tabelę Account, w której długość kolumny numeru konta jest dostosowana do 50 znaków. |
SolutionA, wersja 1.0.1.0 (niezarządzana, poprawka) |
Zawiera aktualizację tabeli Account, w której długość pola numer konta jest korygowana do 35 znaków. |
Proces importowania przebiega następująco:
- Deweloper lub konfigurator najpierw importuje rozwiązanie podstawowe (
SolutionA1.0) do środowiska. Powstaje wtedy tabelaAccount, której kolumna numeru konta wynosi 30 znaków. - Zaimportuj plik
SolutionB. W środowisku znajduje się teraz tabelaAccountz kolumną numeru konta o długości 50 znaków. - Zaimportuj
SolutionApoprawkę 1.0.1.0. W środowisku nadal znajduje się tabelaAccountz kolumną numeru konta o długości 50 znaków, zgodnie z zastosowaniem przezSolutionB. - Odinstaluj
SolutionB. W środowisku teraz znajduje się tabelaAccount, której pole numeru konta wynosi 35 znaków, tak jak przewiduje to poprawkaSolutionA1.0.1.0.
Usuń poprawkę
Poprawkę lub rozwiązanie podstawowe (nadrzędne) można usunąć przy użyciu DeleteRequest lub, w przypadku sieciowego interfejsu API, należy użyć metody HTTP DELETE. Proces usuwania jest inny w przypadku rozwiązania zarządzanego lub niezarządzanego, w którym istnieje jedna lub kilka poprawek w organizacji.
W przypadku rozwiązania niezarządzanego przed odinstalowaniem rozwiązania podstawowego należy najpierw odinstalować wszystkie poprawki do rozwiązania podstawowego w odwrotnej kolejności, w jakiej zostały utworzone.
W przypadku rozwiązania zarządzanego należy po prostu odinstalować rozwiązanie podstawowe. System Dataverse automatycznie odinstalowuje poprawki w odwrotnej kolejności wersji przed deinstalacją rozwiązania podstawowego. Użytkownik może również odinstalować pojedynczą poprawkę.
Aktualizuj rozwiązanie
Aktualizacja rozwiązania obejmuje scalenie wszystkich poprawek tego rozwiązania do nowej wersji rozwiązania. Następnie to rozwiązanie zostanie odblokowane i będzie można ponownie je modyfikować (tylko dla rozwiązania niezarządzanego) lub wyeksportować. W przypadku rozwiązania zarządzanego dalsze modyfikacje rozwiązania nie są dozwolone z wyjątkiem utworzenia poprawek z nowo zaktualizowanego rozwiązania. Aby przerzucić poprawki do rozwiązania niezarządzanego, użyj CloneAsSolutionRequestakcji CloneAsSolution. Klonowanie rozwiązania powoduje utworzenie nowej wersji rozwiązania niezarządzanego, wraz ze wszystkimi jego poprawkami, z wyższym numerem wersji w formacie major.minor, takim samym unikatowym identyfikatorem i wyświetlaną nazwą.
W przypadku rozwiązania zarządzanego elementy są obsługiwane nieco inaczej. Najpierw sklonujesz rozwiązanie niezarządzane (A), dołączając wszystkie jego poprawki, a następnie eksportujesz je jako rozwiązanie zarządzane (B). W organizacji docelowej zawierającej zarządzaną wersję rozwiązania (A) i jego poprawki, należy zaimportować rozwiązanie zarządzane (B), a następnie uruchomić DeleteAndPromoteRequest lub akcję DeleteAndPromote, aby zastąpić rozwiązanie zarządzane (A) oraz jego poprawki za pomocą zaktualizowanego rozwiązania zarządzanego (B) o wyższym numerze wersji.