Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Oplossingsonderdelen hangen vaak af van andere oplossingsonderdelen. U kunt geen oplossingsonderdelen verwijderen die afhankelijk zijn van een ander oplossingsonderdeel. Afhankelijkheden zijn records die automatisch door het oplossingenframework worden gemaakt om te voorkomen dat vereiste onderdelen worden verwijderd terwijl een of meer afhankelijke onderdelen nog steeds verwijzingen naar deze onderdelen bevatten.
Een voorbeeld van een afhankelijkheid is dat een veld vereist is voor de werking van een formulier. Als u vervolgens een actie probeert uit te voeren waardoor dat veld wordt verwijderd, werkt het formulier niet meer.
Een ander voorbeeld is wanneer u de sitemap voor een modelgestuurde app probeert te verwijderen. Het systeem geeft aan dat er een afhankelijkheid van de app bestaat. De app is het afhankelijke onderdeel en de sitemap is het vereiste onderdeel. Het systeem voorkomt dat u de sitemap verwijdert totdat u de afhankelijkheid verwijdert.
Notitie
Verwijderen betekent dat het onderdeel volledig wordt verwijderd Microsoft Dataverse.
In dit artikel bespreken we hoe u met deze afhankelijkheden kunt omgaan en welke strategieën u kunt gebruiken om afhankelijkheden te verwijderen die u niet langer nodig hebt.
Afhankelijkheden van onbeheerde versus beheerde onderdelen
Ten eerste is het belangrijk om te begrijpen dat afhankelijkheden alleen bewerkingen voorkomen die een benodigd onderdeel verwijderen. Met welke acties een onderdeel kan worden verwijderd, hangt af van de vraag of een onderdeel onbeheerd of beheerd is.
Het is goed om vertrouwd te zijn met het concept van oplossings- en componentlagen bij het beschrijven van afhankelijkheden. Als u er niet bekend mee bent, raden we u aan dit artikel te lezen voordat u verdergaat: Oplossingslagen
Onbeheerde onderdelen
Deze onderdelen worden vertegenwoordigd door een enkele laag in de actieve oplossing. Elke verwijderbewerking voor een dergelijk onderdeel resulteert in de volledige verwijdering van het onderdeel.
Beheerde onderdelen
Het verwijderen van beheerde onderdelen is afhankelijk van meerdere factoren: het aantal oplossingslagen, de relatieve positie van de laag die wordt verwijderd en de uitgever van het onderdeel. Wordt een onderdeel verwijderd, overweeg dan bijvoorbeeld de volgende scenario's en wat het verwachte gedrag is wanneer u de verschillende lagen verwijdert.
Voorbeeldscenario's
In de volgende voorbeeldscenario's ziet u wat er met oplossingslagen gebeurt wanneer oplossingen worden verwijderd.
Scenario 1: een enkele oplossingslaag verwijderen
Als u Oplossing 1 verwijdert, wordt er een onderdeel verwijderd omdat dit de enige laag voor het onderdeel is.
Scenario 2: oplossingslagen van verschillende uitgevers verwijderen
- Als u Oplossing 2 verwijdert, wordt er geen onderdeel verwijderd. Alleen die laag wordt verwijderd.
- Als u Oplossing 1 verwijdert, wordt er een onderdeel verwijderd omdat de actie plaatsvindt in de basislaag. In feite kan Oplossing 1 in dit scenario zelfs niet worden verwijderd, omdat een oplossing van een andere uitgever het onderdeel uitbreidt.
Scenario 3: meerdere oplossingslagen van verschillende uitgevers verwijderen
- Als u Oplossing 3 verwijdert, wordt er geen onderdeel verwijderd. Alleen die laag wordt verwijderd.
- Als u Oplossing 2 verwijdert, wordt er geen onderdeel verwijderd. Alleen die laag wordt verwijderd.
- Het verwijderen van oplossing 1 leidt er niet toe dat er een component wordt verwijderd, omdat er in dit geval een andere oplossing van dezelfde uitgever bestaat (Uitgever A = Uitgever C). Het platform verwijdert de laag uit Oplossing 1 en vervangt deze door de laag uit Oplossing 3.
Scenario 4: oplossingslagen verwijderen in een onbeheerde aanpassing
- Het verwijderen van de actieve (onbeheerde) laag leidt niet tot het verwijderen van een component. Alleen die laag wordt verwijderd. Houd er rekening mee dat u de actieve oplossing niet kunt verwijderen, maar u kunt wel componenten verwijderen met de functie Actieve aanpassing verwijderen .
- Als u Oplossing 1 verwijdert, wordt er een onderdeel verwijderd. De actie vindt plaats in de basislaag. In tegenstelling tot scenario 2, kunt u in dit scenario Oplossing 1 verwijderen. De actieve oplossing wordt niet als een uitbreiding beschouwd en beide lagen worden verwijderd.
Pagina Afhankelijkheden weergeven
De opdracht Afhankelijkheden weergeven geeft een overzicht van de afhankelijkheden voor de geselecteerde oplossing of het geselecteerde oplossingsonderdeel. Deze pagina kan als volgt worden aangeroepen:
- Door Afhankelijkheden weergeven te selecteren op de oplossingspagina.
- Door Geavanceerd>Afhankelijkheden weergeven te selecteren binnen een oplossing wanneer een oplossingsonderdeel wordt geselecteerd.
- Proberen een oplossing te verwijderen, waardoor het platform detecteert dat er afhankelijkheden bestaan.
Vanaf de pagina Afhankelijkheden kunt u het onderdeel openen, verwijderen of wissen. Meer informatie: Afhankelijkheden voor een onderdeel bekijken
Afhankelijkheden analyseren
Stel je het volgende scenario voor. De omgeving hier heeft twee oplossingen: Oplossing - workflow en Oplossing - Aangepaste entiteit.
Een maker van de omgeving besluit dat hij Solution - Custom Entity niet langer nodig heeft. De maker probeerde het te verwijderen en kreeg de volgende pagina te zien:
Bij het verwijderen van de oplossing wordt geprobeerd een tabel met de naam Aangepaste entiteit en drie velden te verwijderen: Aangepaste entiteit, Naam en Nummerveld. Alle vier de componenten hebben afhankelijkheden.
Notitie
Als u de oplossing verwijdert, worden mogelijk meer onderdelen verwijderd, maar omdat deze geen afhankelijkheden hebben, verschijnen ze niet in de lijst.
De volgende stap is het controleren van de koppeling Oplossingslagen (meest rechtse kolom) voor elke afhankelijkheid. Hiermee kunt u bepalen wat u moet doen om de afhankelijkheid te verwijderen.
De volgende afbeelding toont afhankelijkheidsdetails tussen de tabel (aangepaste entiteit) en het proces (testworkflow).
Op basis van de weergegeven gegevens kunt u zien dat het afhankelijke onderdeel bij een oplossing met de naam Solutionworkflow hoort. U kunt deze afhankelijkheid op de volgende manieren verwijderen:
- Werk de definitie van de workflow in Solutionworkflow bij door verwijzingen naar de tabel of de subcomponenten ervan te verwijderen. Vervolgens kunt u de oplossing bijwerken of upgraden.
- Verwijder de oplossing SolutionWorkflow.
- Verwijder de werkstroom uit een nieuwe versie van de Solutionworkflow-oplossing en voer vervolgens een upgrade uit.
Omdat elk afhankelijke onderdeel de verwijdering van de oplossing kan verhinderen, raden we u aan om alle afhankelijkheden te controleren en alle vereiste wijzigingen in één keer aan te brengen.
De volgende afbeelding toont afhankelijkheidsdetails tussen de tabel (aangepaste entiteit) en een modelgestuurde app (MyApp).
Op basis van de weergegeven gegevens kunt u zien dat het afhankelijke onderdeel bij een oplossing met de naam Actief hoort. Dit geeft aan dat de afhankelijkheid is gemaakt door een onbeheerde oplossing te importeren of via een onbeheerde aanpassing die is uitgevoerd via de moderne gebruikersinterface of API.
U kunt deze afhankelijkheid op de volgende manieren verwijderen:
- Bewerk de definitie van de modelgestuurde app om elke verwijzing naar de entiteit of de bijbehorende subonderdelen te verwijderen. Omdat modelgestuurde apps publiceren ondersteunen, moet u uw wijzigingen publiceren.
- Verwijder de modelgestuurde app.
Notitie
Het verwijderen van een onbeheerde oplossing is geen optie voor het verwijderen van deze afhankelijkheid omdat onbeheerde oplossingen slechts een middel zijn om onderdelen te groeperen.
Acties om een beheerde afhankelijkheid te verwijderen
Beheerde afhankelijkheden zijn afhankelijkheden waarbij het afhankelijke onderdeel is gekoppeld aan een beheerde oplossing. Als u dit soort afhankelijkheid wilt oplossen, moet u een actie uitvoeren voor de oplossing waaraan het onderdeel is toegevoegd. Die actie kan verschillen, afhankelijk van wat u probeert te doen.
Als u een oplossing probeert te verwijderen
Volg deze stappen:
- Controleer in de doelomgeving de koppeling Solution Layers om te vinden wat de bovenste oplossing is in de lijst van het afhankelijke onderdeel.
- Bereid in de bronomgeving een nieuwe versie van de oplossing voor, waarbij de oplossing het afhankelijke onderdeel niet bevat of een bijgewerkte versie van het afhankelijke onderdeel bevat die geen verwijzingen naar het vereiste onderdeel bevat. Uw doel is om elke verwijzing naar de vereiste onderdelen in de nieuwe versie van de oplossing te verwijderen.
- Exporteer de nieuwe versie van de oplossing.
- Voer in de doelomgeving een upgrade van die oplossing uit.
- Probeer de oplossing opnieuw te verwijderen.
Als u een oplossing probeert te upgraden
In dit geval moet u bevestigen dat u het vereiste onderdeel wilde verwijderen (onthoud dat afhankelijkheden alleen worden afgedwongen voor onderdelen die worden verwijderd).
Als u het onderdeel niet wilt verwijderen, kunt u de nieuwe versie van de oplossing herstellen door het onderdeel weer toe te voegen. Ga hiertoe als volgt te werk:
- Verwijder in de doelomgeving de gefaseerde oplossing (de oplossing die eindigt op _Upgrade).
- Voeg in de bronomgeving de vereiste componenten weer toe aan de oplossing.
- Exporteer de nieuwe versie.
- Probeer de upgrade opnieuw uit te voeren.
Als het verwijderen opzettelijk is, moet u de afhankelijkheid verwijderen. Probeer de stappen die in de voorgaande sectie zijn beschreven, als u een oplossing probeert te verwijderen.
Lagen en afhankelijkheden
De afhankelijke onderdelen kunnen gelaagd zijn, dus het kan zijn dat u meer dan één oplossing moet wijzigen om een afhankelijkheid volledig te verwijderen. Het afhankelijkheidsframework berekent alleen afhankelijkheden tussen de bovenste lagen voor de vereiste en afhankelijke onderdelen. Dat betekent dat u alle oplossingen moet controleren, van de bovenste tot aan de onderste oplossing van het afhankelijke onderdeel.
Bekijk het volgende scenario.
U probeert Oplossing - Aangepaste entiteit te verwijderen, en de bewerking wordt geblokkeerd door afhankelijkheden.
U begint met het analyseren van de afhankelijkheid door Oplossingslagen te selecteren voor het kenmerk new_numberfield. U ziet het volgende scherm:
Omdat afhankelijkheden alleen worden gemaakt tussen de bovenste lagen van elk onderdeel, is de eerste stap het verwijderen van de afhankelijkheid tussen het kenmerk new_numberfield in SolutionCustomEntity en de werkstroom Test workflow in Solutionworkflow3.
U besluit om de afhankelijkheid te verwijderen door SolutionWorkflow3 te verwijderen. U doet dit, maar wanneer u de oplossing nogmaals probeert te verwijderen, krijgt u dezelfde pagina met afhankelijkheden te zien:
De kolom new_numberfield wordt echter niet meer weergegeven, ook al bestond deze in meer lagen.
Acties om een onbeheerde afhankelijkheid te verwijderen
Als u onbeheerde afhankelijkheden wilt verwijderen, moet u uw bewerkingen rechtstreeks op de onderdelen uitvoeren en niet op de oplossingen waartoe ze behoren. Als u bijvoorbeeld de afhankelijkheden tussen een kolom en een formulier wilt verwijderen, moet u de afhankelijkheden in de formulierontwerper bewerken en de kolom uit het formulier verwijderen. De afhankelijkheid wordt verwijderd nadat u Opslaan en Publiceren hebt geselecteerd.
Notitie
- Met de opdracht Afhankelijkheden weergeven kunt u actie ondernemen om de afhankelijkheid te bekijken, te verwijderen, het onderdeel te bewerken of te verwijderen. Meer informatie: Afhankelijkheden voor een onderdeel bekijken
- De knop Afhankelijkheden weergeven wordt weergegeven wanneer u een onderdeel met afhankelijkheden probeert te verwijderen. U kunt op dit scherm de afhankelijkheid bekijken, maar u kunt er geen actie mee ondernemen.
- Wanneer u het afhankelijke onderdeel verwijdert, verwijdert de actie alle afhankelijkheden, samen met het onderdeel.
Als u de afhankelijkheden van een onderdeel wilt bekijken, opent u in het gebied Oplossingen de gewenste oplossing, selecteert u de verticale ellipsen naast het onderdeel en selecteert u vervolgens Geavanceerd>Afhankelijkheden weergeven.
De pagina met afhankelijkheden heeft twee verschillende delen:
- Afhankelijke componenten: een lijst met componenten die afhankelijk zijn van de geselecteerde kolom. Met andere woorden: deze componenten hebben deze kolom als verplicht onderdeel.
- Vereiste componenten: Een lijst met componenten die deze kolom nodig heeft om te kunnen functioneren. Met andere woorden: deze componenten hebben deze kolom als afhankelijk component.