Del via


Afhængighedssporing for for løsningskomponenter

 

Udgivet: januar 2017

Gælder for: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Løsninger består af løsningskomponenter. Du skal bruge den Løsninger-området i Microsoft Dynamics 365 til at oprette eller tilføje løsningskomponenter. Du kan udføre disse handlinger via programmering ved hjælp af AddSolutionComponentRequest-meddelelsen eller meddelelser, der opretter eller opdaterer løsningskomponenter, der omfatter en SolutionUniqueName-parameter.

Løsningskomponenter afhænger ofte af andre løsningskomponenter. Du kan ikke slette nogen løsningskomponent, der har afhængigheder på andre løsningskomponenter. For eksempel kræver et tilpasset bånd typisk billeder eller et scriptwebressourcer til at vise ikoner og udføre handlinger ved hjælp af scripts. Så længe det brugerdefinerede bånd er i løsningen, kræves de specifikke webressourcer, det bruger. Før du kan slette web-essourcerne, skal du fjerne henvisninger til dem i det brugerdefinerede bånd. Disse løsningskomponentafhængigheder kan ses i programmet ved at klikke på Vis afhængigheder.

I dette emne beskrives typerne løsningskomponenter, kan du medtage i dine løsninger, og hvordan de afhænger af hinanden.

Dette emne indeholder

Alle løsningskomponenter

Komponentafhængigheder i løsninger

Kontrol af afhængigheder for løsningskomponenter

Almindelige løsningskomponenter

Alle løsningskomponenter

Den komplette liste over tilgængelige løsningskomponenttyper findes i systemets globale Komponenttype (componenttype)-grupperede indstilling. Det understøttede interval af værdier for denne egenskab er tilgængeligt ved at inkludere filen SampleCode\CS\HelperCode\OptionSets.cs eller SampleCode\VB\HelperCode\OptionSets.vb i projektet. Men mange af løsningskomponenttyperne på denne liste er kun til intern brug, og listen indeholder ikke oplysninger om relationerne mellem løsningskomponenter.

Komponentafhængigheder i løsninger

Afhængigheder for løsningskomponenter er med til at sikre, at løsningerne er pålidelige, når du arbejder med dem. De forhindrer, at handlinger, som du normalt udfører, ødelægger nogle af de tilpasninger, der er defineret i en løsning. Disse afhængigheder gør det muligt at installere og fjerne en administreret løsning ved blot at importere eller slette en løsning.

Rammerne for løsninger sporer automatisk afhængigheder for løsningskomponenter. Hver operation på en løsningskomponent beregner automatisk alle afhængigheder til andre komponenter i systemet. Oplysninger om afhængighed bruges til at vedligeholde integriteten af systemet og undgå handlinger, der kan medføre en ustabil tilstand.

Som følge af afhængighedssporing gennemtvinges følgende funktionsmåder:

  • Sletning af en komponent er forhindret, hvis en anden komponent i systemet er afhængig af den.

  • Eksport af en løsning advarer brugeren, hvis der er manglende komponenter, der kan forårsage fejl, når du importerer denne løsning i et andet system.

    Advarsler under eksport kan ignoreres, hvis løsningsudvikleren har til hensigt, at løsningen kun er til at blive installeret i en organisation, hvor afhængige komponenter forventes at findes. For eksempel når du opretter en løsning, der er designet til at være installeret oven på en forudinstalleret "grundlæggende" løsning.

  • Import af en løsning mislykkes, hvis alle nødvendige komponenter ikke er inkluderet i løsningen, og desuden ikke findes i destinationssystemet.

    • Desuden, når du importerer en administreret løsning, skal alle påkrævede komponenter svare til pakketypen af løsningen. En komponent i en administreret løsning kan kun afhænge af en anden administreret komponent.

Der findes tre typer løsningskomponentafhængigheder:

  • Løsning internt
    Interne afhængigheder administreres af Microsoft Dynamics 365. De findes, når en bestemt løsningskomponent ikke kan eksistere uden en anden løsningskomponent.

  • Udgivet
    Publicerede afhængigheder oprettes, når to løsningskomponenter relateres til hinanden og derefter publiceres. Hvis du vil fjerne denne type afhængighed, skal du fjerne tilknytningen og derefter udgive objekterne igen.

  • Ikke-publiceret
    Ikke-publicerede afhængigheder gælder for en ikke-udgivet version af en løsningskomponent, der kan udgives, som opdateres. Når løsningskomponenten er udgivet, bliver det en udgivet afhængighed.

Løsningsinterne afhængigheder er afhængigheder, hvor handlinger med en løsningskomponent kræver en handling for en anden løsningskomponent. Hvis du f.eks. sletter et objekt, skal du forvente, at alle objektattributter slettes sammen med det. Alle objektrelationer til andre objekter slettes også.

Men en intern afhængighed kan medføre en udgivet afhængighed og stadig kræve en manuel handling. Hvis du f.eks. har inkluderet et opslagsfelt på en objektformular og derefter vil slette det primære objekt i relationen, kan du ikke fuldføre sletningen, før du har fjernet opslagsfeltet fra den relaterede objektformular og derefter udgivet formularen.

Når du udfører handlinger ved hjælp af programmering med løsninger, kan du bruge meddelelser med relation til Dependency-objektet. Se Objektmeddelelser og -metoder for afhængighed for meddelelser, som du kan bruge til at identificere afhængigheder, der kan findes, før du sletter en komponent eller fjerner en løsning.

Kontrol af afhængigheder for løsningskomponenter

Når du redigerer løsninger, kan du opleve, at du ikke kan slette en løsningskomponent, fordi den har en publiceret afhængighed med en anden løsningskomponent. Eller du kan ikke fjerne en administreret løsning, fordi en af komponenterne i den administrerede løsning er blevet brugt i en tilpasning af en anden ikke-administreret løsning.

I følgende tabel vises de meddelelser, som du kan bruge til at hente data om afhængigheder for løsningskomponenter.

Meddelelse

Beskrivelse

RetrieveDependentComponentsRequest

Returnerer en liste over afhængigheder for løsningskomponenter, der er direkte afhængige af en løsningskomponent.

For eksempel når du bruger denne meddelelse til en global løsningskomponent med en grupperet indstilling, returneres afhængighedsposter for løsningskomponenter, der repræsenterer attributter for en grupperet indstilling, der refererer til den globale løsningskomponents grupperede indstilling.

Når du bruger denne meddelelse til løsningskomponentposten for firmaobjektet, returneres afhængighedsposter for alle de løsningskomponenter, der repræsenterer attributter, visninger og formularer, der anvendes for det pågældende objekt.

RetrieveRequiredComponentsRequest

Returnerer en liste over afhængigheder for løsningskomponenter, som en anden løsningskomponent direkte afhænger af. Denne meddelelse indeholder det modsatte af RetrieveDependentComponentsRequest-meddelelsen.

RetrieveDependenciesForDeleteRequest

Returnerer en liste over alle afhængigheder for løsningskomponenter, som kan forhindre sletning af en løsningskomponent.

RetrieveDependenciesForUninstallRequest

Returnerer en liste over alle afhængigheder for løsningskomponenter, som kan forhindre fjernelse af en administreret løsning.

Almindelige løsningskomponenter

Disse er de løsningskomponenter, der vises i programmet og de komponenter, du skal arbejde med direkte, når du skal tilføje eller fjerne løsningskomponenter med løsningssiden. Hver af de andre typer løsningskomponenter afhænger af eksistensen af en eller flere af disse løsningskomponenter.

Programbånd (RibbonCustomization)

Objekt (Entity)

Rapport (Report)

Artikelskabelon (KBArticleTemplate)

Feltsikkerhedsprofil (FieldSecurityProfile)

SDK-meddelelsens behandlingstrin (SDKMessageProcessingStep)

Forbindelsesrolle (ConnectionRole)

Skabelon til brevfletning (MailMergeTemplate)

Sikkerhedsrolle (Role)

Kontraktskabelon (ContractTemplate)

Grupperet indstilling (OptionSet)

Serviceslutpunkt (ServiceEndpoint)

Dashboard eller objektformular (SystemForm)

Plug-in-assembly (PluginAssembly)

Oversigt over websted (SiteMap)

Mailskabelon (EmailTemplate)

Proces (Workflow)

Webressource (WebResource)

Programbånd (RibbonCustomization)

Båndtilpasninger for programbåndet og objektbåndskabeloner. Programbåndene indeholder ikke definitioner af bånd på objekt- eller formularniveau.

Brugerdefinerede programbånd har ofte publicerede afhængigheder af webressourcer. Webressourcer bruges til at definere båndets knapikoner og JavaScript-funktioner for at styre, hvornår der vises elementer på båndet, eller hvilke handlinger der udføres, når en bestemt båndkontrolelement bruges. Afhængigheder oprettes kun, når bånddefinitionerne bruger $webresource:-direktivet til at knytte webressourcen til båndet.Flere oplysninger:$webresource direktiv

Artikelskabelon (KBArticleTemplate)

En skabelon, som indeholder standardattributterne til en artikel. Der er altid en intern afhængighed mellem artikelskabelonen og KbArticle-objektet.

Forbindelsesrolle (ConnectionRole)

Rolle, der beskriver en relation mellem to poster. Hver forbindelsesrolle definerer, hvilke typer objektposter der kan være sammenkædet ved hjælp af forbindelsesrollen. Dette opretter en publiceret afhængighed mellem forbindelsesrollen og objektet.

Kontraktskabelon (ContractTemplate)

En skabelon, som indeholder standardattributterne til en kontrakt. Der er altid en intern afhængighed mellem kontraktskabelonen og kontraktobjektet.

Dashboard eller objektformular (SystemForm)

Systemets formularobjektposter bruges til at definere dashboards og objektformularer. Når en SystemForm bruges som en objektformular, er der en intern afhængighed på objektet. Når en SystemForm bruges som et dashboard, er der ingen interne afhængigheder. Både objektformularer og dashboards har ofte publicerede afhængigheder, der er relateret til deres indhold. En objektformular kan have opslagsfelter, der afhænger af en objektrelation. Både dashboards og objektformularer kan indeholde diagrammer eller undergitre, der opretter en publiceret afhængighed på en visning, som derefter har en intern afhængighed på et objekt. En afhængighed, der er udgivet på webressourcer, kan oprettes på grund af indhold, der vises i formularen eller dashboardet, eller når en formular indeholder JavaScript-biblioteker. Objektformularer har publicerede afhængigheder af de attributter, der vises som felter i formularen.

Mailskabelon (EmailTemplate)

En skabelon, der indeholder standardattributterne til en mailmeddelelse. En e-mail-skabelon indeholder typisk felter, der indsætter data fra angivne objektattributter. En e-mail-skabelon kan knyttes til et bestemt objekt, når den er oprettet, så der kan være en intern afhængighed på objektet. En global e-mail-skabelon er ikke knyttet til et bestemt objekt, men den kan have udgivne afhængigheder af objektattributter, der bruges til at levere data. En proces (arbejdsproces) er ofte konfigureret til at sende en mail ved hjælp af en e-mail-skabelon, så der oprettes en publiceret afhængighed med arbejdsprocessen.

Objekt (Entity)

Den primære struktur, der bruges til at modellere og administrere data i Microsoft Dynamics 365. Diagrammer, formularer, objektrelationer, visninger og attributter, der er knyttet til et objekt, slettes automatisk, når objektet slettes, på grund af interne afhængigheder mellem dem. Objekter har ofte udgivne afhængigheder af processer, dashboards og e-mail-skabeloner.

Feltsikkerhedsprofil (FieldSecurityProfile)

Profil, der definerer adgangsniveauet for sikre attributter.

Skabelon til brevfletning (MailMergeTemplate)

Skabelon, der indeholder standardattributter til et brevfletningsdokument. En skabelon til brevfletning har en udgivet afhængighed på det objekt, den er knyttet til.

Grupperet indstilling (OptionSet)

En grupperet indstilling definerer et sæt af indstillinger. En valglisteattribut bruger en grupperet indstilling til at definere de leverede indstillinger. Flere valglisteattributter kan bruge en global grupperet indstilling, så de indstillinger, de indeholder, altid er de samme og kan vedligeholdes på ét sted. En publiceret afhængighed opstår, når en valglisteattribut henviser til en global grupperet indstilling. Du kan ikke slette en global grupperet indstilling, der bruges som en valglisteattribut.

Plug-in-assembly (PluginAssembly)

Assembly, der indeholder én eller flere plug-in-typer. Plug-ins registreres for hændelser, der normalt er knyttet til et objekt. Dette opretter en publiceret afhængighed.

Proces (Workflow)

Sæt logiske regler, der definerer de trin, der er nødvendige for at automatisere en bestemt forretningsproces, opgave eller sæt af handlinger, der skal udføres. Processer giver en bred vifte af handlinger, der opretter publicerede afhængigheder på enhver anden løsningskomponent, som processen refererer til. Hver proces har også en udgivet afhængighed på det objekt, den er knyttet til.

Rapport (Report)

Dataoversigt i et letlæseligt layout. En rapport har udgivne afhængigheder af alle objekter eller attributdata, der er medtaget i rapporten. Hver rapport skal desuden være knyttet til en rapportkategori, så der oprettes en intern afhængighed på en løsningskomponent, kaldet den relaterede rapportkategori (ReportCategory). Rapporter kan være konfigureret til at være underrapporter, så der oprettes en publiceret afhængighed af den overordnede rapport.

SDK-meddelelsens behandlingstrin (SDKMessageProcessingStep)

Trin i den kørselsrækkefølge, som et plug-in skal gennemføre.

Sikkerhedsrolle (Role)

Gruppering af sikkerhedsrettigheder. Brugerne får tildelt roller, der godkender deres adgang til Microsoft Dynamics 365-systemet. Objektformularer kan knyttes til bestemte sikkerhedsroller for at kontrollere, hvem der kan få vist formularen. Dette opretter en publiceret afhængighed mellem sikkerhedsrollen og formularen.

Bemærk

Det er kun sikkerhedsroller fra afdelingen i organisationen, der kan føjes til en løsning. Det er kun brugere med læseadgang til disse sikkerhedsroller, der kan føje dem til en løsning.

Serviceslutpunkt (ServiceEndpoint)

Det slutpunkt for servicen, der kan kontaktes.

Oversigt over websted (SiteMap)

XML-data, der bruges til at kontrollere navigationsruden i programmet. Oversigten over webstedet kan være tilknyttet for at vise en HTML-webressource, eller et ikon i oversigten over webstedet kan bruge en billedwebressource. Når $webresource:-direktivet bruges til at etablere disse tilknytninger, oprettes en publiceret afhængighed.Flere oplysninger:$webresource direktiv

Webressource (WebResource)

Data svarende til filer, der bruges i webudvikling. Webressourcer giver klientsidekomponenter, der bruges til at levere brugerdefinerede elementer i brugergrænsefladen. Webressourcer kan have publicerede afhængigheder af objektformularer, bånd og SiteMap. Når $webresource:-direktivet bruges til at etablere disse tilknytninger i et bånd eller SiteMap, oprettes en publiceret afhængighed. Du kan finde flere oplysninger under $webresource direktiv.

Bemærk

Webressourcer kan afhænge af andre webressourcer baseret på relative links. For eksempel kan en HTML-webressource anvende en CSS- eller scriptwebressource. En Silverlight-webressource, der vises uden for en objektformular eller et diagram, skal have en HTML-webressource som vært. Disse afhængigheder er ikke registreret som løsningsafhængigheder.

Se også

Pakke- og distributionsudvidelser ved hjælp af løsninger
Introduktion til løsninger
Plan for løsningsudvikling
Oprette, eksportere eller importere en ikke-administreret løsning
Opret, installer, og opdater en administreret løsning
Opret, installer, og opdater en administreret løsning
Fjern eller slet en løsning
Løsningsobjekter

Microsoft Dynamics 365

© 2017 Microsoft. Alle rettigheder forbeholdes. Ophavsret