Vytvorenie balíkov pre nástroj Package Deployer

Package Deployer umožňuje správcom nasadiť balíky na inštancie systému Microsoft Dataverse. Balík Package Deployer môže obsahovať čokoľvek z tohto:

  • Jeden alebo viac súborov riešenia Dataverse.
  • Textové súbory alebo súbor konfiguračných údajov z Configuration Migration Tool. Viac informácií o nástroji sa dozviete v časti Presun konfiguračných údajov cez inštancie a organizácie s nástrojom Configuration Migration Tool.
  • Vlastný kód, ktorý sa spustí pred, počas, alebo po nasadení balíka do inštancie Dataverse.
  • Obsah HTML špecifický pre balík, ktorý môžete zobraziť na začiatku a na konci procesu nasadenia. Tento obsah môže byť užitočný pre popis riešení a súborov, ktoré sú nasadené v balíčku.

Poznámka

Existuje ďalší typ balíka s názvom doplnkový balík. Tento druh balíka je určený pre zostavy závislé od doplnkov a nemá žiadny vzťah s balíkmi Package Deployer.

Požiadavky

  • Uistite sa, že máte pripravené všetky riešenia a iné súbory, ktoré chcete zahrnúť do balíka.
  • Visual Studio 2019 alebo novší, alebo Visual Studio Code.

Prehľad procesov

Ak chcete vytvoriť balík, Package Deployer vykonajte nasledujúce kroky.

  • Vytvorenie projektu Visual Studio alebo MSBuild
  • Pridajte riešenia a ďalšie súbory do projektu
  • Aktualizovať poskytnuté súbory HTML (voliteľné)
  • Zadajte konfiguračné hodnoty balíka
  • Definujte vlastný kód pre svoj balík
  • Zostavte a nasaďte balík

Tieto kroky sú podrobne popísané v tomto článku.

Vytvorenie projektu balíka

Prvým krokom je vytvorenie projektu Visual Studio alebo MSBuild pre balík. Aby ste to dosiahli, musíte mať na svojom vývojovom počítači nainštalované jedno z dvoch dostupných rozšírení nástrojov. Ak používate Visual Studio Code, nainštalujte Microsoft Power Platform CLI. Ak používate Visual Studio 2019, nainštalujte Power Platform Tools pre Visual Studio. Rozšírenie Power Platform nástrojov je v súčasnosti k dispozícii len na Visual Studio rok 2019. Vytvorený projekt však môže byť zostavený pomocou Visual Studio 2019 alebo novším.

Vyberte príslušnú kartu nižšie a zistite, ako vytvoriť projekt pomocou požadovaného rozšírenia nástroja. Oba nástroje vydávajú projekt v podobnom formáte.

Spustite príkaz pac package init a vytvorte počiatočný balík. Ďalšie informácie: pac package

pac package init help
pac package init --outputDirectory DeploymentPackage

Výsledný výstup CLI obsahuje priečinky a súbory zobrazené nižšie. Ako príklad bol tu použitý názov priečinka "DeploymentPackage".

C:.
└───DeploymentPackage
    │   DeploymentPackage.csproj
    │   PackageImportExtension.cs
    │
    └───PkgAssets
            ImportConfig.xml
            manifest.ppkg.json

Vo vytvorenom projekte nájdite konfiguračný súbor ImportConfig.xml v priečinku PkgAssets a súbor PackageImportExtension.cs. Tieto súbory upravíte tak, ako je popísané ďalej v tomto článku.

Pridať súbory balíka

Po vytvorení projektu balíka môžete začať pridávať riešenia a ďalšie súbory do tohto projektu.

Pri používaní CLI môžete do projektu balíka pridať externé balíky, riešenia a referencie pomocou jedného z čiastkových príkazov add. Ak chcete zobraziť zoznam čiastkových príkazov, zadajte pac package help. Pridajme riešenie do nášho balíka.

> pac package add-solution help

Commands:
Usage: pac package add-solution --path [--import-order] [--skip-validation] [--publish-workflows-activate-plugins] [--overwrite-unmanaged-customizations] [--import-mode] [--missing-dependency-behavior] [--dependency-overrides]

> cd .\DeploymentPackage\
> pac package add-solution --path ..\TestSolution_1_0_0_1_managed.zip

The item was added successfully.

Konfigurácia balíka

  1. Definujte konfiguráciu balíka pridaním informácií o vašom balíku do súboru ImportConfig.xml, ktorý je k dispozícii v projekte. Otvorte súbor na úpravu. Nasledujúci zoznam poskytuje informácie o každom parametri a uzle v konfiguračnom súbore.

    installsampledata
    True alebo false. Ak je true, nainštaluje vzorové údaje do inštancie Dataverse. Tieto údaje sú rovnaké vzorové údaje, ktoré môžete nainštalovať z oblasti Nastavenia>Správa údajov v službe Dataverse.

    waitforsampledatatoinstall
    Pravda alebo nepravda. Ak je pravda, a keď installsampledata je tiež nastavené na pravda, pred nasadením balíka čaká na inštaláciu vzorových údajov.

    Poznámka

    Uistite sa, že ste nastavili installsampledata na pravda, ak nastavujete waitforsampledatatoinstall na pravda.

    agentdesktopzipfile
    Názov súboru zip súboru, ktorý chcete rozbaliť. Ak tu zadáte názov súboru .zip, počas procesu nasadenia balíka sa pridá obrazovka, ktorá vás vyzve, aby ste vybrali miesto, kam chcete rozbaliť obsah súboru.

    Tento atribút sa bežne používa na vytváranie balíkov pre Unified Service Desk pre Dynamics 365. Viac informácií o Unified Service Desk nájdete v časti Príručka spravovania služby Unified Service Desk 3.0.

    agentdesktopexename
    Názov súboru .exe alebo .msi v súbore zip alebo adresa URL, ktorá sa má vyvolať na konci procesu nasadenia.

    Tento atribút sa bežne používa na vytváranie balíkov pre Unified Service Desk.

    crmmigdataimportfile
    Názov súboru predvoleného konfiguračného súboru údajov (.zip) exportovaného pomocou Configuration Migration Tool.

    • Môžete tiež importovať lokalizovanú verziu súboru s konfiguračnými údajmi na základe lokálneho ID (LCID) zadaného pomocou nových nastavení runtime pri spustení nástroja Package Deployer. Použite uzol <cmtdatafile> (vysvetlené ďalej) na určenie lokalizovaných verzií súboru s konfiguračnými údajmi v balíku a potom použite metódu OverrideConfigurationDataFileLanguage (vysvetlená ďalej) na určenie logiky na importovanie konfiguračného údajového súboru na základe lokálneho ID zadaného pomocou nastavení runtime. Naraz nie je možné importovať viac ako jeden súbor konfiguračných údajov pomocou balíka.

    • Pre Dataverse (lokálny), ak súbor konfiguračných údajov obsahuje informácie o používateľovi a zdrojová aj cieľová inštancia sú v rovnakej doméne služby Active Directory, informácie o používateľovi sa importujú do cieľovej Dataverse Dataverse inštancie. Ak chcete importovať informácie o používateľovi do inštancie Dataverse (lokálna) v inej doméne, musíte do svojho projektu zahrnúť súbor priradenia používateľa (.xml) vygenerovaný pomocou Configuration Migration Tool a určiť ho spolu so súborom konfiguračných údajov pomocou atribútu usermapfilename v uzle <cmtdatafile>, ako je vysvetlené neskôr. Informácie o používateľovi nie je možné importovať do Dataverse inštancií.
      uzol <solutions>
      Obsahuje pole uzlov <configsolutionfile>, ktoré popisujú riešenia na import. Poradie riešení v tomto uzle označuje poradie, v akom sa riešenia budú importovať do cieľa inštancie Dataverse.

      uzol <configsolutionfile>
      Použite tento uzol pod uzlom <solutions> na určenie jednotlivých riešení a nasledujúcich informácií pre každé importované riešenie:

    • solutionpackagefilename: Zadajte názov súboru .zip vášho riešenia. Povinné.

    • overwriteunmanagedcustomizations: Zadajte, či sa majú prepísať akékoľvek nespravované prispôsobenia pri importovaní riešenia, ktoré už existuje v cieľovej inštancii Dynamics 365. Tento atribút je voliteľný a ak tento atribút nezadáte, predvolene sa nespravované prispôsobenia v existujúcom riešení zachovajú v cieľovej inštancii Dynamics 365.

    • publishworkflowsandactivateplugins: Zadajte, či sa majú po importovaní riešenia publikovať pracovné postupy a aktivovať doplnky v cieľovej inštancii Dynamics 365. Tento atribút je voliteľný a ak tento atribút nezadáte, v predvolenom nastavení sa pracovné postupy publikujú a doplnky sa aktivujú po importe riešenia do cieľovej inštancie Dynamics 365.

      Do balíka môžete pridať viac názvov súborov riešení pridaním potrebného počtu uzlov <configsolutionfile>. Ak napríklad chcete importovať tri súbory riešení, pridajte ich tak, ako je znázornené nižšie:

    
    <solutions>  
    <configsolutionfile solutionpackagefilename="SampleSolutionOne_1_0_managed.zip"  
    overwriteunmanagedcustomizations="false"  
    publishworkflowsandactivateplugins="true"/>  
    <configsolutionfile solutionpackagefilename="SampleSolutionTwo_1_0_managed.zip"  
    overwriteunmanagedcustomizations="false"  
    publishworkflowsandactivateplugins="true"/>  
    <configsolutionfile solutionpackagefilename="SampleSolutionThree_1_0_managed.zip" />  
    </solutions>  
    
    

    uzol <filestoimport>
    Obsahuje pole uzlov <configimportfile> a <zipimportdetails>, ktoré sa používajú na opis jednotlivých súborov a súborov zip na importovanie.

    uzol <configimportfile>
    Použite tento uzol pod uzlom <configimportfile> na opis súboru, ktorý sa má importovať do Dataverse. Do balíka môžete pridať viac súborov pridaním potrebného počtu uzlov <configimportfile>.

    
    <filestoimport>  
    <configimportfile filename="File.csv"  
    filetype="CSV"  
    associatedmap="FileMap"  
    importtoentity="FileEntity"  
    datadelimiter=""  
    fielddelimiter="comma"  
    enableduplicatedetection="true"  
    isfirstrowheader="true"  
    isrecordownerateam="false"  
    owneruser=""  
    waitforimporttocomplete="true" />  
    <configimportfile filename="File.zip"  
    filetype="ZIP"  
    associatedmap="FileMapName"  
    importtoentity="FileEntity"  
    datadelimiter=""  
    fielddelimiter="comma"  
    enableduplicatedetection="true"  
    isfirstrowheader="true"  
    isrecordownerateam="false"  
    owneruser=""  
    waitforimporttocomplete="true"/>  
    
    </filestoimport>  
    
    

    Nižšie je uvedený zoznam podporovaných atribútov:

    Atribút Description
    filename Názov súboru, ktorý obsahuje údaje importu. Ak ide o súbor .zip, uzol <zipimportdetails> musí byť prítomný s uzlom <zipimportdetail> pre každý súbor v súbore .zip.
    filetype Táto hodnota môže byť csv, xml alebo zip.
    associatedmap Názov mapy údajov importu Dataverse na použitie s týmto súborom. Ak je prázdny, pokúsi sa použiť pre tento súbor názov mapy údajov importu určený systémom.
    importtoentity Môže ísť o názov exe v súbore zip, URL alebo súbor .msi na poskytnutie prepojenia na vyvolanie na konci procesu.
    datadelimiter Názov oddeľovača údajov použitých v súbore importu. Platné hodnoty sú jednoduché úvodzovky alebo dvojité úvodzovky.
    fielddelimiter Názov oddeľovača polí použitých v súbore importu. Platné hodnoty sú čiarka, dvojbodka alebo jednoduché úvodzovky.
    enableduplicatedetection Informuje o tom, či povoliť pravidlá hľadania duplikátov pri importe údajov. Platné hodnoty sú pravda alebo nepravda.
    isfirstrowheader Používa sa na označenie, že prvý riadok importovaného súboru obsahuje názvy polí. Platné hodnoty sú true alebo false.
    isrecordownerateam Označuje, či by vlastník záznamu o importe mal byť tímom. Platné hodnoty sú true alebo false.
    owneruser Označuje ID používateľa, ktorý by mal tieto záznamy vlastniť. Predvolená hodnota je aktuálne prihlásený používateľ.
    waitforimporttocomplete Ak je true, systém čaká na dokončenie importu pred pokračovaním. Ak je false, zaraďuje úlohy do frontu a pokračuje ďalej.

    uzol <zipimportdetails>
    Tento uzol obsahuje pole uzlov <zipimportdetail>, ktoré popisujú súbory obsiahnuté v súbore zip, ktorý sa používa na importovanie do Dynamics 365.

    uzol <zipimportdetail>
    Použite tento uzol pod uzlom <zipimportdetails>, ktorý poskytuje informácie o samostatnom súbore v súbore .zip, ktorý je uvedený v uzle <configimportfile>.

    <filestoimport>  
    ...  
    ...  
    <zipimportdetails>  
    <zipimportdetail filename="subfile1.csv" filetype="csv" importtoentity="account" />  
    <zipimportdetail filename="subfile2.csv" filetype="csv" importtoentity="contact" />  
    </zipimportdetails>  
    </filestoimport>  
    
    

    Podporované atribúty sú uvedené nižšie:

    Atribút Description
    filename Názov súboru, ktorý obsahuje údaje importu.
    filetype Táto hodnota môže byť csv alebo xml.
    importtoentity Môže ísť o názov exe v súbore zip, URL alebo súbor .msi na poskytnutie prepojenia na vyvolanie na konci procesu.

    uzol <filesmapstoimport>
    Tento uzol obsahuje pole uzlov <configmapimportfile> na import. Poradie mapových súborov v tomto uzle označuje poradie, v ktorom sú importované. Informácie o mapách údajov nájdete v časti Vytvorenie máp údajov na import.

    uzol <configimportmapfile>
    Použite tento uzol pod uzlom <filesmapstoimport>na poskytnutie informácií o jednotlivom mapovom súbore, ktorý sa má importovať do Dataverse.

    <filesmapstoimport>  
    <configimportmapfile filename="FileMap.xml" />  
    </filesmapstoimport>  
    

    uzol <cmtdatafiles>
    Tento uzol obsahuje pole <cmtdatafile> uzlov, ktoré obsahuje lokalizovanú verziu súboru konfiguračných údajov, ktorý sa má importovať.

    uzol <cmtdatafile>
    Použite tento uzol pod uzlom <cmtdatafiles> na určenie lokalizovaných súborov s konfiguračnými údajmi spolu s miestnym ID (povinné) a mapovým súborom informácií o používateľovi (voliteľné). Napríklad:

    <cmtdatafiles>  
    <cmtdatafile filename="data_1033.zip" lcid="1033" usermapfilename="UserMap.xml" />  
    <cmtdatafile filename="data_1041.zip" lcid="1041" usermapfilename="" />  
    </cmtdatafiles>  
    

    Svoju vlastnú logiku môžete definovať v metóde OverrideConfigurationDataFileLanguage (vysvetlená ďalej) na importovanie lokalizovaného súboru s konfiguračnými údajmi namiesto predvoleného (špecifikovaného v crmmigdataimportfile) na základe hodnoty ID miestneho nastavenia (LCID) zadanej pomocou nastavení runtime (vysvetlené ďalej).

  2. Vyberte položku Save All (Uložiť všetko).

    Nasledujúci súbor xml predstavuje obsah vzorového ImportConfig.xml súboru.

    <?xml version="1.0" encoding="utf-16"?>  
    <configdatastorage xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"  
    xmlns:xsd="https://www.w3.org/2001/XMLSchema"  
    installsampledata="true"  
    waitforsampledatatoinstall="true"  
    agentdesktopzipfile=""  
    agentdesktopexename=""  
    crmmigdataimportfile="data_1033.zip">  
    <solutions>  
    <configsolutionfile solutionpackagefilename="SampleSolutionOne_1_0_managed.zip"  
    overwriteunmanagedcustomizations="false"  
    publishworkflowsandactivateplugins="true"/>  
    <configsolutionfile solutionpackagefilename="SampleSolutionTwo_1_0_managed.zip"  
    overwriteunmanagedcustomizations="false"  
    publishworkflowsandactivateplugins="true"/>  
    <configsolutionfile solutionpackagefilename="SampleSolutionThree_1_0_managed.zip" />  
    </solutions>  
    <filestoimport>  
    <configimportfile filename="SampleOption.csv"  
    filetype="CSV"  
    associatedmap="SampleOption"  
    importtoentity="sample_option"  
    datadelimiter=""  
    fielddelimiter="comma"  
    enableduplicatedetection="true"  
    isfirstrowheader="true"  
    isrecordownerateam="false"  
    owneruser=""  
    waitforimporttocomplete="false"/>  
    <configimportfile filename="File.zip"  
    filetype="ZIP"  
    associatedmap="FileMapName"  
    importtoentity="FileEntity"  
    datadelimiter=""  
    fielddelimiter="comma"  
    enableduplicatedetection="true"  
    isfirstrowheader="true"  
    isrecordownerateam="false"  
    owneruser=""  
    waitforimporttocomplete="true"/>  
    <zipimportdetails>  
    <zipimportdetail filename="subfile1.csv"  
    filetype="csv"  
    importtoentity="account" />  
    <zipimportdetail filename="subfile2.csv"  
    filetype="csv"  
    importtoentity="contact" />  
    </zipimportdetails>  
    </filestoimport>  
    <filesmapstoimport>  
    <configimportmapfile filename="SampleOption.xml" />  
    </filesmapstoimport>  
    <cmtdatafiles>  
    <cmtdatafile filename="data_1033.zip"  
    lcid="1033"  
    usermapfilename="UserMap.xml" />  
    <cmtdatafile filename="data_1041.zip"  
    lcid="1041"  
    usermapfilename="" />  
    </cmtdatafiles>  
    </configdatastorage>  
    
    

Pridať vlastný kód

Môžete pridať vlastný kód, ktorý sa spustí pred, počas a po importe balíka do prostredia. Postupujte podľa týchto pokynov.

  1. Upravte PackageTemplate.cs (alebo PackageImportExtension.cs) v koreňovom priečinku projektu.

  2. V súbore C# môžete:

    1. Zadajte vlastný kód, ktorý sa má vykonať po inicializácii balíka v definícii metódy prepísania InitializeCustomExtension.

      Túto metódu je možné použiť na to, aby používatelia mohli používať parametre runtime počas spúšťania balíka. Ako vývojár môžete do balíka pridať podporu ľubovoľného parametra runtime pomocou vlastnosti RuntimeSettings, pokiaľ máte kód na jej spracovanie na základe vstupu používateľa.

      Napríklad nasledujúci vzorový kód umožňuje spustenie parametra runtime s názvom SkipChecks pre balík, ktorý má dve možné hodnoty: true alebo false. Vzorový kód skontroluje, či užívateľ zadal počas behu Package Deployer nejaké parametre runtime (buď pomocou príkazového riadka alebo PowerShell) a potom príslušné informácie spracuje. Ak používateľ počas spúšťania balíka neurčí žiadny parameter runtime, hodnota vlastnosti RuntimeSettings bude prázdna.

      public override void InitializeCustomExtension()  
      {  
      // Do nothing.  
      
      // Validate the state of the runtime settings object.  
      if (RuntimeSettings != null)  
      {  
      PackageLog.Log(string.Format("Runtime Settings populated.  Count = {0}", RuntimeSettings.Count));  
      foreach (var setting in RuntimeSettings)  
      {  
      PackageLog.Log(string.Format("Key={0} | Value={1}", setting.Key, setting.Value.ToString()));  
      }  
      
      // Check to see if skip checks is present.  
      if ( RuntimeSettings.ContainsKey("SkipChecks") )  
      {  
      bool bSkipChecks = false;  
      if (bool.TryParse((string)RuntimeSettings["SkipChecks"], out bSkipChecks))  
      OverrideDataImportSafetyChecks = bSkipChecks;  
      }  
      }  
      else  
      PackageLog.Log("Runtime Settings not populated");  
      }  
      

      Tento kód umožňuje správcovi používať príkazový riadok alebo cmdlet Import-CrmPackage, aby určil, či sa majú preskočiť kontroly bezpečnosti počas nástroja Package Deployer na import balíka. Ďalšie informácie: Nasadenie balíkov pomocou nástrojov Package Deployer a Windows PowerShell

    2. Zadajte vlastný kód, ktorý sa má vykonať pred importom riešení v definícii metódy prepísania PreSolutionImport na určenie, či sa majú zachovať alebo prepísať prispôsobenia pri aktualizácii zadaného riešenia v cieľovej inštancii Dataverse a či sa majú automaticky aktivovať doplnky a pracovné postupy.

    3. Použitie definície RunSolutionUpgradeMigrationStep metódy prepísania na vykonanie transformácie údajov alebo inováciu medzi dvoma verziami riešenia Táto metóda sa použije iba vtedy, ak sa importované riešenie už nachádza v cieľovej Dataverse inštancii.

      Táto funkcia očakáva nasledujúce parametre:

      Parameter Popis
      solutionName Názov riešenia
      oldVersion Číslo verzie starého riešenia
      newVersion Číslo verzie nového riešenia
      oldSolutionId GUID starého riešenia.
      newSolutionId GUID nového riešenia.
    4. Zadajte vlastný kód, ktorý sa má vykonať pred dokončením importu riešenia v definícii prepísania metódy BeforeImportStage. Vzorové údaje a niektoré textové súbory pre riešenia uvedené v súbore ImportConfig.xml sa importujú pred dokončením importu riešenia.

    5. Prepíšte aktuálne vybratý jazyk pre import konfiguračných údajov pomocou definície OverrideConfigurationDataFileLanguage metódy prepísania. Ak sa zadané ID miestneho nastavenia (LCID) zadaného jazyka nenachádza v zozname dostupných jazykov v balíku, importuje sa predvolený dátový súbor.

      Dostupné jazyky pre konfiguračné údaje zadáte v uzle <cmtdatafiles> v súbore ImportConfig.xml. Predvolený súbor na import konfiguračných údajov je uvedený v atribúte crmmigdataimportfile v súbore ImportConfig.xml.

      Preskočenie kontrol údajov (OverrideDataImportSafetyChecks = true) tu môže byť účinné, ak ste si istí, že cieľová Dataverse inštancia neobsahuje žiadne údaje.

    6. Zadajte vlastný kód, ktorý sa má vykonať po dokončení importu v definícii prepísania metódy AfterPrimaryImport>. Zostávajúce ploché súbory, ktoré neboli importované skôr, pred spustením importu riešenia, sa teraz importujú.

    7. Zmeňte predvolený názov priečinka balíka na požadovaný názov balíka. Ak to chcete urobiť, premenujte priečinok PkgFolder (alebo PkgAssets) na table Prieskumník riešení a potom upravte návratovú hodnotu pod vlastnosťou GetImportPackageDataFolderName.

      public override string GetImportPackageDataFolderName  
      {  
      get  
      {  
      // WARNING this value directly correlates to the folder name in the Solution Explorer where the ImportConfig.xml and sub content is located.  
      // Changing this name requires that you also change the correlating name in the Solution Explorer  
      return "PkgFolder";  
      }  
      }  
      
    8. Zmeňte názov balíka úpravou návratovej hodnoty pod vlastnosťou GetNameOfImport.

      public override string GetNameOfImport(bool plural)  
      {  
      return "Package Short Name";  
      }  
      

      Táto vrátená hodnota je názov vášho balíka, ktorý sa zobrazí na stránke výberu balíka v sprievodcovi Dynamics 365 Package Deployer .

    9. Zmeňte popis balíka úpravou návratovej hodnoty pod vlastnosťou GetImportPackageDescriptionText.

      
      public override string GetImportPackageDescriptionText  
      {  
      get { return "Package Description"; }  
      }  
      
      

      Táto vrátená hodnota predstavuje popis balíka, ktorý sa zobrazí vedľa názvu balíka na stránke výberu balíka v sprievodcovi Package Deployer .

    10. Zmeňte dlhý názov balíka úpravou návratovej hodnoty pod vlastnosťou GetLongNameOfImport.

      
      public override string GetLongNameOfImport  
      {  
      get { return "Package Long Name"; }  
      }  
      
      

      Dlhý názov balíka sa zobrazí na ďalšej stránke potom, čo ste vybrali balík na inštaláciu.

  3. Balík má navyše k dispozícii nasledujúce funkcie a premenné:

    Meno Typ Popis
    CreateProgressItem(String) Function Používa sa na vytvorenie novej položky postupu v používateľskom rozhraní (UI).
    RaiseUpdateEvent(String, ProgressPanelItemStatus) Function Používa sa na aktualizáciu postupu vytvoreného volaním do CreateProgressItem(String).

    ProgressPanelItemStatus je enumerácia s nasledujúcimi hodnotami:

    Pracuje sa = 0
    Dokončené = 1
    Zlyhanie = 2
    Upozornenie = 3
    Neznáme = 4
    RaiseFailEvent(String, Exception) Function Používa sa na zlyhanie importu aktuálneho stavu pomocou správy o výnimke.
    IsRoleAssoicatedWithTeam(Guid, Guid) Function Používa sa na určenie, či je rola priradená konkrétnemu tímu.
    IsWorkflowActive(Guid) Function Používa sa na určenie, či je zadaný pracovný postup aktívny.
    PackageLog Ukazovateľ triedy Ukazovateľ na inicializované logovacie rozhranie balíka. Toto rozhranie používa balík na zaznamenávanie správ a výnimiek zo súboru denníka balíka.
    RootControlDispatcher Vlastnosť Dispečerské rozhranie, ktoré vám umožňuje ovládať vykreslenie vlastného používateľského rozhrania počas nasadenia balíka. Toto rozhranie slúži na zabalenie akýchkoľvek prvkov alebo príkazov používateľského rozhrania. Pred použitím tejto premennej je dôležité skontrolovať hodnoty null, pretože nemusí byť nastavená na hodnotu.
    CrmSvc Vlastnosť Ukazovateľ na triedu CrmServiceClient, ktorá umožňuje balíku adresovať Dynamics 365 zvnútra balíka. Tento ukazovateľ použite na spustenie metód SDK a ďalších akcií v prepísaných metódach.
    DataImportBypass Vlastnosť Uveďte, či Dynamics 365 Package Deployer preskočí všetky operácie importu údajov, napríklad import vzorových údajov Dataverse, údajov textových súborov a údaje exportované z nástroja Configuration Migration Tool. Zadajte možnosť true alebo false. Predvolené je false.
    OverrideDataImportSafetyChecks Vlastnosť Zadajte, či Dynamics 365 Package Deployer obchádza niektoré zo svojich bezpečnostných kontrol, čo pomáha pri zlepšovaní výkonu importu. Zadajte true alebo false. Predvolené je false.

    Túto vlastnosť by ste mali nastaviť iba v true prípade, že cieľová Dataverse inštancia neobsahuje žiadne údaje.
  4. Uložte svoj projekt. Ďalším krokom je vytvorenie balíka.

Vytvorenie a nasadenie

Nasledujúce časti popisujú, ako vytvoriť a nasadiť balík.

Zostava

Zostavenie balíka je popísané nižšie v závislosti od toho, ktorý nástroj používate.

Ak chcete vytvoriť balík vytvorený pomocou CLI, môžete načítať súbor Visual Studio .csproj, ale namiesto toho použijeme príkaz dotnet a MSBuild. Príklad nižšie predpokladá, že pracovný adresár obsahuje súbor *.csproj.

> dotnet publish

DeploymentPackage -> C:\Users\peter\Downloads\DeploymentPackage\bin\Debug\DeploymentPackage.1.0.0.pdpkg.zip

Voliteľne si môžete pozrieť detaily zostaveného balíka.

> pac package show --package .\bin\Debug\DeploymentPackage.1.0.0.pdpkg.zip

Váš balík obsahuje nasledujúce súbory pod priečinkom <Project>\Bin\Debug.

  • <PriečinokNázovBalíka> : Názovpriečinka je rovnaký ako ten, ktorý ste zmenili pre názov priečinka balíka v kroku 2.g tejto časti Pridať vlastný kód. Tento priečinok obsahuje všetky riešenia, konfiguračné údaje, textové súbory a obsah balíka.

Poznámka

Môžete vidieť priečinok .NET (napr. net472) obsahujúci priečinok pdpublish. Vaša DLL a ďalšie súbory projektu sú v tomto priečinku pdpublish.

  • <PackageName>.dll: Zostava obsahuje vlastný kód vášho balíka. Podľa predvoleného nastavenia názov zostavy je rovnaký ako váš názov projektu.

Nasadiť

Po vytvorení balíka ho môžete nasadiť v inštancii Dataverse pomocou nástroja Package Deployer, Windows PowerShell alebo príkazu CLI.

Osvedčené postupy

Nižšie je uvedených niekoľko tipov na osvedčené postupy, ktoré treba dodržiavať pri práci s balíkmi Package Deployer.

Vytváranie balíkov

Pri vytváraní balíkov musia vývojári:

  • Zabezpečiť, aby boli zostavy balíka podpísané.

Nasadenie balíkov

Pri nasadzovaní balíčkov musia správcovia Dataverse:

  • Trvajte na podpísanej zostáv balíčka, aby ste mohli zostavu vysledovať späť k zdroju.
  • Otestujte balík na predprodukčnej inštancii, najlepšie zrkadlovom obraze výrobná inštancia, predtým, ako ho spustíte na výrobná inštancia.
  • Zálohovať výrobnú inštanciu pred nasadením balíčka.

Pozrite si tiež

Nástroj Balíčkovač riešenia