Afhængighedssporing for for løsningskomponenter
Løsninger består af løsningskomponenter. Du skal bruge den Løsninger-området i Microsoft Dataverse 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.
Alle løsningskomponenter
Den komplette liste over tilgængelige løsningskomponenttyper findes i systemets globale componenttype
-grupperede indstilling. Det understøttede interval af værdier for denne egenskab er tilgængeligt ved at inkludere filen OptionSets.cs
eller 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 Intern
Interne afhængigheder administreres af Dataverse. De findes, når en bestemt løsningskomponent ikke kan eksistere uden en anden løsningskomponent.Offentliggjort
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.Upublicerede
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 Afhængighedsobjekt for meddelelser, du kan bruge til at identificere afhængigheder, som eventuelt findes, inden du sletter en komponent eller afinstallerer en 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)
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. Du kan finde flere oplysninger i: $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 Dataverse. 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 Dataverse-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)
De 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. Du kan finde flere oplysninger i: $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 i: $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å
Løsningskoncepter
Fjernelse af afhængigheder
Miljøstrategi
Arbejd med løsninger ved hjælp af SDK-API'er]
Reference til løsningsobjekt
Reference til SolutionComponent-objektet