Ustvarjanje paketov za orodje Package Deployer

Orodje Package Deployer skrbnikom omogoča uvajanje paketov pri primerkih Microsoft Dataverse. Paket Package Deployer je lahko sestavljen iz nekaterih ali vseh naslednjih elementov:

  • Ena ali več datotek z rešitvijo Dataverse.
  • Datoteke z nestrukturiranimi podatki ali datoteka s konfiguracijskimi podatki, izvožena iz orodja za selitev konfiguracije. Za več informacij o orodju glejte Premikanje konfiguracijskih podatkov med primerki in organizacijami z orodjem Configuration Migration Tool.
  • Koda po meri, ki se lahko izvaja pred, med ali po uvedbi paketa v primerek Dataverse.
  • Vsebina HTML, značilna za paket, ki se lahko prikaže na začetku in ob koncu procesa uvajanja. Ta vsebina je lahko koristna za zagotavljanje opisa rešitev in datotek, ki se uvedejo v paketu.

opomba,

Obstaja še ena vrsta paketa, imenovana paket vtičnikov. Ta vrsta paketa je primerna za sklope, odvisne od vtičnikov, in ni v nobeni povezavi s paketi Package Deployer.

Zahteve

  • Prepričajte se, da imate pripravljeno rešitev in druge datoteke, ki jih želite vključiti v paket.
  • Visual Studio 2019 ali novejša različica ali Visual Studio koda.

Pregled procesa

Če želite ustvariti paket, Package Deployer izvedite naslednje korake.

  • Ustvarjanje projekta Visual Studio ali MSBuild
  • Dodajanje rešitev in drugih datotek v projekt
  • Posodobitev zagotovljenih datotek HTML (izbirno)
  • Določitev konfiguracijskih vrednosti za paket
  • Določitev kode po meri za paket
  • Gradnja in uvedba paketa

Ti koraki so podrobno opisani v tem članku.

Ustvarjanje paketa projekta

Prvi korak je ustvarjanje projekta Visual Studio ali MSBuild za paket. Če želite to narediti, morate imeti v računalniku za razvoj nameščeno eno od dveh razpoložljivih razširitev orodja. Če uporabljate Visual Studio Code, namestite vmesnik ukazne vrstice za Microsoft Power Platform. Če pa uporabljate Visual Studio 2019, namestite orodja Power Platform za Visual Studio. Razširitev Power Platform orodij je trenutno na voljo samo za Visual Studio leto 2019. Ustvarjeni projekt pa je mogoče zgraditi z Visual Studio 2019 ali novejšo različico.

Izberite ustrezen zavihek spodaj, če želite izvedeti, kako ustvariti projekt z želeno razširitvijo orodja. Obe orodji ustvarita projekt v podobni obliki.

Zaženite ukaz pac package init, da ustvarite začetni paket. Več informacij: pac package

pac package init help
pac package init --outputDirectory DeploymentPackage

Nastali vmesnik ukazne vrstice vsebuje spodaj prikazane mape in datoteke. Ime mape »DeploymentPackage« je bilo tukaj uporabljeno kot primer.

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

V ustvarjenem projektu poiščite konfiguracijsko datoteko ImportConfig.xml v mapi PkgAssets in datoteki PackageImportExtension.cs. Te datoteke boste spremenili, kot je opisano v nadaljevanju tega članka.

Dodajanje datotek paketa

Ko ustvarite projekt paketa, lahko začnete dodajati rešitve in druge datoteke temu projektu.

Ko uporabljate vmesnik ukazne vrstice, lahko svojemu projektu paketa dodate zunanje pakete, rešitve in reference z enim od podukazov add. Vnesite pac package help za ogled seznama podukazov. Dodajmo rešitev v naš paket.

> 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.

Konfiguracija paketa

  1. Določite konfiguracijo paketa tako, da dodate informacije o paketu v datoteko ImportConfig.xml, ki je na voljo v projektu. Odprite datoteko za urejanje. Na naslednjem seznamu so navedene informacije o posameznih parametrih in vozliščih v datoteki konfiguracije.

    installsampledata
    True ali false. Če je true, namestite vzorčne podatke v primerek Dataverse. To so enaki vzorčni podatki, ki jih lahko namestite iz območja Nastavitve>Upravljanje podatkov v storitvi Dataverse.

    waitforsampledatatoinstall
    True ali false. Če je true in če je tudi možnost installsampledata nastavljena na true, počaka, da se pred namestitvijo paketa namestijo vzorčni podatki.

    opomba,

    Prepričajte se, da ste nastavili installsampledata na true, če nastavite waitforsampledatatoinstall na true.

    agentdesktopzipfile
    Ime datoteke za datoteko zip za razpakiranje. Če tukaj določite ime datoteke .zip, med postopkom uvajanja paketa doda zaslon, ki vas bo pozval, da izberete mesto, na katerem želite razpakirati vsebino datoteke.

    Ta atribut se običajno uporablja za ustvarjanje paketov za Unified Service Desk za Dynamics 365. Za informacije o aplikaciji Unified Service Desk glejte Vodnik za skrbnike za aplikacijo Unified Service Desk 3.0..

    agentdesktopexename
    Ime datoteke .exe ali .msi v datoteki zip ali URL, ki ga je treba priklicati na koncu postopka uvajanja.

    Ta atribut se običajno uporablja za ustvarjanje paketov za Unified Service Desk.

    crmmigdataimportfile
    Ime privzete datoteke s konfiguracijskimi podatki (.zip), izvožene z orodjem za selitev konfiguracije.

    • Uvozite lahko tudi lokalizirano različico datoteke s konfiguracijskimi podatki na podlagi ID-ja območnih nastavitev (LCID), ki je določen z uporabo novih nastavitev izvajanja, medtem ko zaženete orodje Package Deployer. Uporabite vozlišče <cmtdatafile> (pojasnjeno pozneje), da določite lokalizirane različice datoteke s konfiguracijskimi podatki v paketu in nato uporabite način OverrideConfigurationDataFileLanguage (pojasnjeno pozneje) za določitev logike za uvoz datoteke s konfiguracijskimi podatki, ki temelji na ID-ju območnih nastavitev, določenem z nastavitvami izvajanja. Hkrati s paketom ne morete uvoziti več kot ene konfiguracijske podatkovne datoteke.

    • Na mestu uporabe Če Dataverse datoteka s konfiguracijskimi podatki vsebuje podatke o uporabniku in sta izvorni in ciljni primerek v isti domeni imenika Active Directory, se podatki o uporabniku uvozijo v ciljni Dataverse Dataverse primerek. Če želite uvoziti podatke o uporabniku v primerek Dataverse (na mestu uporabe) v drugi domeni, morate v svoj projekt vključiti datoteko preslikave uporabnika (.xml), ustvarjeno z orodjem za selitev konfiguracije, in jo skupaj z datoteko s konfiguracijskimi podatki določiti z uporabo atributa usermapfilename v vozlišču <cmtdatafile>, pojasnjenem pozneje. Podatkov o uporabniku ni mogoče uvoziti v Dataverse primerke.
      Vozlišče <solutions>
      Vsebuje polje vozlišč <configsolutionfile>, ki opisujejo rešitve za uvoz. Vrstni red rešitev pod tem vozliščem označuje vrstni red uvoza rešitev v ciljni primerek Dataverse.

      Vozlišče <configsolutionfile>
      Uporabite to vozlišče pod vozliščem <solutions> za določitev posameznih rešitev in naslednjih informacij za posamezne rešitve, ki bodo uvožene:

    • solutionpackagefilename: določite ime datoteke .zip vaše rešitve. Obvezno.

    • overwriteunmanagedcustomizations: določite, ali naj se pri uvozu rešitve, ki že obstaja v ciljnem primerku Dynamics 365, prepišejo katere neupravljane prilagoditve. Ta atribut je izbiren in če tega atributa ne določite, se neupravljane prilagoditve v obstoječi rešitvi privzeto ohranijo v ciljnem primerku Dynamics 365.

    • publishworkflowsandactivateplugins: določite, ali želite po uvozu rešitve objaviti poteke dela in aktivirati vtičnike v ciljnem primerku Dynamics 365. Ta atribut je izbiren in če tega atributa ne določite, so poteki dela privzeto objavljeni, vtičniki pa aktivirani, ko je rešitev uvožena v ciljni primerek Dynamics 365.

      V paket lahko dodate več imen datotek rešitev, in sicer tako, da dodate enako število vozlišč <configsolutionfile>. Če želite na primer uvoziti tri datoteke rešitev, jih dodajte tako, kot je prikazano spodaj:

    
    <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>  
    
    

    Vozlišče <filestoimport>
    Vsebuje polje vozlišč <configimportfile> in <zipimportdetails>, ki se uporabljajo za opis posameznih datotek in datotek zip, ki jih je treba ustrezno uvoziti.

    Vozlišče <configimportfile>
    Uporabite to vozlišče pod vozliščem <configimportfile>, da opišete datoteko, ki jo boste uvozili v Dataverse. V paket lahko dodate več datotek, in sicer tako, da dodate enako število vozlišč <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>  
    
    

    Spodaj je seznam podprtih atributov:

    Atribut Description
    filename Ime datoteke, ki vsebuje podatke za uvoz. Če gre za datoteko .zip, mora biti vozlišče <zipimportdetails> prisotno z vozliščem <zipimportdetail> za vsako datoteko v datoteki .zip.
    filetype Ta vrednost je lahko csv, xml ali zip.
    associatedmap Ime preslikave uvoženih podatkov storitve Dataverse za uporabo s to datoteko. Če je prazno, poskuša uporabiti sistemsko določeno ime preslikave uvoženih podatkov za to datoteko.
    importtoentity Lahko je ime datoteke exe v datoteki zip, URL ali datoteka .msi za zagotavljanje povezave, ki jo je treba priklicati na koncu postopka.
    datadelimiter Ime ločilnega znaka za podatke, uporabljeno v datoteki za uvoz. Veljavne vrednosti so enojni narekovaji ali dvojni narekovaji.
    fielddelimiter Ime ločilnega znaka za polje, uporabljeno v datoteki za uvoz. Veljavne vrednosti so vejica ali dvopičje ali enojni narekovaji.
    enableduplicatedetection Označuje, ali je treba pri uvozu podatkov omogočiti pravila za zaznavanje dvojnikov. Veljavni vrednosti sta true ali false.
    isfirstrowheader Uporablja se za označevanje, da prva vrstica datoteke za uvoz vsebuje imena polj. Veljavni vrednosti sta true ali false.
    isrecordownerateam Označuje, ali mora biti lastnik zapisa o uvozu ekipa. Veljavni vrednosti sta true ali false.
    owneruser Označuje ID uporabnika, ki bi moral imeti v lasti zapise. Privzeta vrednost je trenutno prijavljeni uporabnik.
    waitforimporttocomplete Če je true, sistem počaka, da se uvoz zaključi pred nadaljevanjem. Če je false, uvrsti posle v čakalno vrsto in nadaljuje.

    Vozlišče <zipimportdetails>
    To vozlišče vsebuje polje vozlišč <zipimportdetail>, ki opisujejo datoteke, vključene v datoteko zip, ki se uporablja za uvoz v Dynamics 365.

    Vozlišče <zipimportdetail>
    Uporabite to vozlišče pod vozliščem <zipimportdetails> za zagotavljanje informacije o posamezni datoteki v datoteki .zip, ki je navedena v vozlišču <configimportfile>.

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

    Spodaj je seznam podprtih atributov:

    Atribut Description
    filename Ime datoteke, ki vsebuje podatke za uvoz.
    filetype Ta vrednost je lahko csv ali xml.
    importtoentity Lahko je ime datoteke exe v datoteki zip, URL ali datoteka .msi za zagotavljanje povezave, ki jo je treba priklicati na koncu postopka.

    Vozlišče <filesmapstoimport>
    To vozlišče vsebuje polje vozlišč <configmapimportfile> za uvoz. Vrstni red datotek zemljevidov v tem vozlišču označuje vrstni red njihovega uvoza. Za informacije o podatkovnih preslikavah glejte Ustvarjanje podatkovnih preslikav za uvoz.

    Vozlišče <configimportmapfile>
    Uporabite to vozlišče pod vozliščem <filesmapstoimport> za zagotavljanje informacij o posamezni datoteki preslikav za uvoz v Dataverse.

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

    Vozlišče <cmtdatafiles>
    To vozlišče vsebuje matriko vozlišč, <cmtdatafile> ki vsebuje lokalizirano različico konfiguracijske podatkovne datoteke, ki jo želite uvoziti.

    Vozlišče <cmtdatafile>
    Uporabite to vozlišče pod vozliščem <cmtdatafiles>, da določite lokalizirane datoteke s konfiguracijskimi podatki skupaj z ID-jem območnih nastavitev (obvezno) in datoteko s preslikavo podatkov o uporabniku (izbirno). Na primer:

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

    Logiko po meri lahko določite v načinu OverrideConfigurationDataFileLanguage (pojasnjeno pozneje), da lahko uvozite lokalizirano datoteko s konfiguracijskimi podatki namesto privzete datoteke (določeno v crmmigdataimportfile) na podlagi vrednosti ID-ja območnih nastavitev (LCID), ki je določen z nastavitvami izvajanja (pojasnjeno pozneje).

  2. Izberite Shrani vse.

    Naslednji xml predstavlja vsebino vzorčne ImportConfig.xml datoteke.

    <?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>  
    
    

Dodajanje kode po meri

Dodate lahko kodo po meri, ki se izvaja pred, med in po uvozu paketa v okolje. To naredite tako, da sledite spodnjim navodilom.

  1. Uredite datoteko PackageTemplate.cs (ali PackageImportExtension.cs) v korenski mapi projekta.

  2. V datoteki C# lahko:

    1. Vnesete kodo po meri, ki jo želite izvesti, ko se paket inicializira v opredelitvi načina preglasitve InitializeCustomExtension.

      Ta način se lahko uporablja, da uporabnikom omogoči uporabo parametrov izvajanja med izvajanjem paketa. Kot razvijalec lahko paketu dodate podporo za kateri koli parameter izvajanja z lastnostjo RuntimeSettings, dokler imate kodo za njegovo obdelavo na podlagi uporabnikovega vnosa.

      Naslednja vzorčna koda na primer omogoča parameter izvajanja, imenovan SkipChecks, za paket, ki ima dve možni vrednosti: true ali false. Vzorčna koda preverja, ali je uporabnik med izvajanjem orodja Package Deployer določil kakšne parametre izvajanja (bodisi z uporabo ukazne vrstice ali storitve PowerShell), nato pa informacije ustrezno obdela. Če uporabnik med izvajanjem paketa ne določi nobenega parametra izvajanja, je vrednost lastnosti RuntimeSettings »null«.

      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");  
      }  
      

      Ta koda skrbniku omogoča uporabo ukazne vrstice ali ukaza cmdlet Import-CrmPackage, da določi, ali naj se varnostno preverjanje preskoči med izvajanjem orodja Package Deployer za uvoz paketa. Več informacij: Uvajanje paketov z orodji Package Deployer in Windows PowerShell

    2. Vnesete kodo po meri, ki jo želite izvesti pred uvozom rešitev v opredelitev načina preglasitve PreSolutionImport, da določite, ali naj se prilagoditve ohranijo ali prepišejo, medtem ko posodabljate določeno rešitev v ciljnem primeru Dataverse, ter ali naj se vtičniki in poteki dela samodejno aktivirajo.

    3. Definicijo RunSolutionUpgradeMigrationStep preglasitvene metode uporabite za pretvorbo podatkov ali nadgradnjo med dvema različicama rešitve Ta način se imenuje le, če je rešitev, ki jo uvažate, že prisotna v ciljnem Dataverse primerku.

      Ta funkcija pričakuje naslednje parametre:

      Parameter Opis
      solutionName Ime rešitve
      oldVersion Številka različice stare rešitve
      newVersion Številka različice nove rešitve
      oldSolutionId GUID stare rešitve.
      newSolutionId GUID nove rešitve.
    4. Vnesete kodo po meri, ki jo želite izvesti pred dokončanjem uvoza rešitve v opredelitev preglasitve načina BeforeImportStage. Vzorčni podatki in nekaj datotek z nestrukturiranimi podatki za rešitve, navedene v datoteki ImportConfig.xml, se uvozijo, preden se uvoz rešitve zaključi.

    5. Preglasite trenutno izbrani jezik za uvoz konfiguracijskih podatkov z definicijo OverrideConfigurationDataFileLanguage metode preglasitve. Če navedenega ID-ja območnih nastavitev (LCID) navedenega jezika ni na seznamu razpoložljivih jezikov v paketu, se uvozi privzeta podatkovna datoteka.

      Sami določite razpoložljive jezike za konfiguracijske podatke v vozlišču <cmtdatafiles> v datoteki ImportConfig.xml. Privzeta datoteka za uvoz konfiguracijskih podatkov je določena v atributu crmmigdataimportfile v datoteki ImportConfig.xml.

      Preskakovanje preverjanj podatkov (OverrideDataImportSafetyChecks = true) je lahko tukaj učinkovito, če ste prepričani, da ciljni Dataverse primerek ne vsebuje nobenih podatkov.

    6. Vnesite kodo po meri, ki jo želite izvesti po dokončanju uvoza v definiciji za preglasitev načina AfterPrimaryImport>. Preostale nespremenjene datoteke, ki niso bile uvožene prej, preden se je začel uvoz rešitve, so uvožene zdaj.

    7. Spremenite privzeto ime mape paketov v želeno ime paketa. Če želite to narediti, preimenujte mapo PkgFolder (ali PkgAssets) v podoknu Raziskovalec rešitev in nato uredite vrnjeno vrednost v lastnosti 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. Spremenite ime paketa tako, da uredite vrnjeno vrednost v lastnosti GetNameOfImport.

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

      Ta vrnjena vrednost je ime vašega paketa, ki je prikazano na strani za izbiro paketa čarovnika Dynamics 365 Package Deployer .

    9. Spremenite opis paketa tako, da uredite vrnjeno vrednost v lastnosti GetImportPackageDescriptionText.

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

      Ta vrnjena vrednost je opis paketa, ki je prikazan ob imenu paketa na strani za izbiro paketa Package Deployer čarovnika.

    10. Spremenite dolgo ime paketa tako, da uredite vrnjeno vrednost v lastnosti GetLongNameOfImport.

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

      Dolgo ime paketa se prikaže na naslednji strani, potem ko ste izberete paket za namestitev.

  3. Poleg tega so v paketu na voljo naslednje funkcije in spremenljivke:

    Imenu Vrsti Opis
    CreateProgressItem(String) Function Uporablja se za ustvarjanje novega elementa napredka v uporabniškem vmesniku.
    RaiseUpdateEvent(String, ProgressPanelItemStatus) Function Uporablja se za posodabljanje napredka, ustvarjenega s pozivom CreateProgressItem(String).

    ProgressPanelItemStatus je oštevilčenje z naslednjimi vrednostmi:

    Delovanje = 0
    Dokončano = 1
    Ni uspelo = 2
    Opozorilo = 3
    Neznano = 4
    RaiseFailEvent(String, Exception) Function Uporablja se za neuspeh uvoza trenutnega stanja s sporočilom o izjemi.
    IsRoleAssoicatedWithTeam(Guid, Guid) Function Uporablja se za določitev, ali je vloga povezana z določeno ekipo.
    IsWorkflowActive(Guid) Function Uporablja se za določitev, ali je določen potek dela dejaven.
    PackageLog Kazalec razreda Kazalec na inicializiran vmesnik za beleženje paketa. Paket uporablja ta vmesnik za beleženje sporočil in izjem v datoteki dnevnika paketov.
    RootControlDispatcher Lastnost Vmesnik odpravitelja, ki se uporablja, da vašemu kontrolniku omogoča upodabljanje lastnega uporabniškega vmesnika med uvajanjem paketa. S tem vmesnikom lahko ovijete vse elemente ali ukaze uporabniškega vmesnika. Pomembno je, da pred uporabo te spremenljivke preverite ničelne vrednosti, saj morda ni nastavljena na vrednost.
    CrmSvc Lastnost Kazalec na razred CrmServiceClient, ki omogoča, da paket obravnava Dynamics 365 znotraj paketa. Uporabite ta kazalec za izvajanje načinov kompleta za razvoj programske opreme in drugih dejanj v preglašenih načinih.
    DataImportBypass Lastnost Določite, ali naj Dynamics 365 Package Deployer preskoči vse postopke uvoza podatkov, kot je uvoz vzorčnih podatkov storitve Dataverse, podatkov datotek z nestrukturiranimi podatki in podatkov, izvoženih iz orodja Configuration Migration Tool. Določite »true« ali »false«. Privzeta nastavitev je false.
    OverrideDataImportSafetyChecks Lastnost Določite, ali Dynamics 365 Package Deployer zaobide nekatera varnostna preverjanja, kar pomaga izboljšati učinkovitost uvoza. Določite true ali false. Privzeta nastavitev je false.

    To lastnost nastavite le true , če ciljni Dataverse primerek ne vsebuje nobenih podatkov.
  4. Shranite projekt. Naslednji korak je gradnja paketa.

Gradnja in uvedba

V spodnjih razdelkih je opisano, kako ustvarite in uvedete paket.

Graditev

Izdelava paketa je opisana spodaj, odvisno od orodja, ki ga uporabljate.

Če želite zgraditi paket, ustvarjen s CLI, lahko naložite datoteko Visual Studio .csproj, namesto tega pa bomo uporabili ukaz dotnet in MSBuild. Spodnji primer predvideva, da delovni imenik vsebuje datoteko *.csproj.

> dotnet publish

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

Po želji si lahko ogledate podrobnosti zgrajenega paketa.

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

Vaš paket je sestavljen iz naslednjih datotek v mapi <Project>\Bin\Debug.

  • <Mapa> PackageName: Ime mape je enako tistemu, ki ste ga spremenili za ime mape paketa v koraku 2.g tega razdelka Dodajte kodo po meri. Ta mapa vsebuje vse rešitve, konfiguracijske podatke, datoteke z nestrukturiranimi podatki in vsebine za vaš paket.

opomba,

Morda boste videli mapo .NET (npr. net472), ki vsebuje mapo pdpublish. Vaš DLL in druge projektne datoteke so v tej mapi pdpublish.

  • <PackageName>dll: v zbiru je koda po meri vašega paketa. Privzeto je ime zbira enako kot ime projekta.

Uvedi

Ko ustvarite paket, ga lahko uvedete v primerek Dataverse z uporabo orodja Package Deployer, storitve Windows PowerShell ali ukaza vmesnika ukazne vrstice.

  • Za uvedbo z orodjem Package Deployer najprej prenesite orodje, kot je opisano v razvojnih orodjih Dataverse. Nato sledite podrobnim informacijam o uvajanju paketov v članku Uvajanje paketov z lupino Package Deployer Windows PowerShell.

  • Za uvedbo s pomočjo vmesnika ukazne vrstice uporabite ukaz pac package deploy.

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

    opomba,

    Če želite uvesti paket v ciljno okolje z uporabo vmesnika ukazne vrstice, morate najprej nastaviti profil za preverjanje pristnosti in izbrati organizacijo. Več informacij: pac auth create, pac org select

Najboljše prakse

Spodaj je navedenih nekaj nasvetov, ki jih je dobro upoštevati pri delu s paketi Package Deployer.

Ustvarjanje paketov

Pri ustvarjanju paketov morajo razvijalci storiti naslednje:

  • Prepričati se, da so sklopi paketov podpisani.

Uvedba paketov

Pri uvajanju paketov morajo skrbniki Dataverse storiti naslednje:

  • vztrajati pri podpisanih zbirih paketov, da lahko poiščete vir zbira;
  • Paket preizkusite na primerku za predprodukcijo, po možnosti zrcalni sliki produkcijski primerek, preden ga zaženete na produkcijski primerek.
  • varnostno kopirati produkcijski primerek pred uvedbo paketa.

Glejte tudi

Orodje za pakiranje rešitev