Paketų kūrimas „Package Deployer“ įrankiui

„Package Deployer“ suteikia administratoriams galimybę diegti paketus „Microsoft Dataverse“ egzemplioriuose. Paketą gali sudaryti bet kurie iš toliau nurodytų elementų arba jie visi:

  • Vienas arba keli Dataverse sprendimo failai.
  • Paprasti failai arba eksportuotų konfigūracijos duomenų failas iš konfigūravimo perkėlimo įrankio. Daugiau informacijos apie įrankį žr. Konfigūravimo duomenų perkėlimas tarp egzempliorių ir organizacijų naudojant konfigūravimo perkėlimo įrankį.
  • Pasirinktinis kodas, kuris gali būti vykdomas prieš diegiant, diegimo metu arba įdiegus paketą „Dataverse“ egzemplioriuje.
  • HTML turinys, susijęs su konkrečių paketu, kuris gali būti rodomas diegimo proceso pradžioje arba pabaigoje. Tai gali būti naudinga pateikti sprendimų ir failų, kurie visuotinai diegiami, aprašą pakete.

Paketams kurti naudojamas „Visual Studio 2015” arba naujesnės versijos šablonas (galimas atsisiųsti). Sukūrus paketą, naudokite „Package Deployer“ įrankį, kad įdiegtumėte paketą „Dataverse“ egzemplioriuje.

Būtinosios sąlygos

Paketo kūrimas

Norėdami sukurti paketą, atlikite šiuos penkis veiksmus:

1 veiksmas. Sukurkite projektą naudodami šabloną

  1. Paleiskite „Visual Studio“ ir sukurkite naują projektą.

  2. Dialogo lange Naujas projektas:

    1. Įdiegtų šablonų sąraše išplėskite „Visual C#“ ir pasirinkite „Dynamics 365“ SDK šablonai.
    2. Įsitikinkite, kad pasirinkta „.NET Framework 4.6.2“.
    3. Pasirinkite „Dynamics 365“ paketas.
    4. Nurodę projekto pavadinimą ir vietą, spustelėkite Gerai.

    Naujas projektas, skirtas pasirinktiniam paketui kurti.

2 veiksmas. Įtraukite failus į projektą

  1. Srityje Sprendimų naršyklė į aplanką PkgFolder įtraukite savo sprendimus ir failus.
  2. Kiekvienam failui, kurį įtraukiate aplanke PkgFolder, srityje Ypatybės nustatykite Kopijuoti į išvesties katalogą reikšmę Kopijuoti visada. Tai užtikrina, kad failas yra pasiekiamas sugeneruotame pakete.

3 veiksmas. Atnaujinkite HTML failus: anglų ir kitos kalbos

  1. Srityje Sprendimų naršyklė išplėskite PkgFolder > Turinys > en-us. Rasite du aplankus, pavadintus EndHTML ir WelcomeHTML. Šiuose aplankuose yra HTML ir susiję failai, kurie leidžia peržiūrėti informaciją paketo diegimo proceso pradžioje ir pabaigoje. Redaguokite šių aplankų HTML aplanke esančius failus, kad įtrauktumėte informaciją į paketą.

  2. Taip pat į paketą galite įtraukti HTML failus kitomis kalbomis, kad HTML turinys būtų rodomas kalba, atsižvelgiant į vartotojo kompiuterio lokalės parametrus. Norėdami tai atlikti:

    1. Sukurkite aplanko en-us kopiją PkgFolder > Turinys.
    2. Pervadinkite nukopijuotą aplanką į atitinkamą kalbą. Pavyzdžiui, ispanų kalba pervardykite jį į es-ES.
    3. Pakeiskite HTML failų turinį, kad įtrauktumėte ispanišką turinį.

4 veiksmas. Nustatykite paketo konfigūracijos reikšmes

  1. Nustatykite paketo konfigūraciją įtraukdami informaciją apie paketą ImportConfig.xml faile, kuris yra PkgFolder. Du kartus spustelėkite failą, kad jį atidarytumėte redagavimui. Šiame sąraše pateikiama informacija apie kiekvieną parametrą ir mazgą konfigūracijos faile.

    installsampledata
    True arba false. Jei true, „Dataverse“ egzemplioriuje įdiegiami pavyzdiniai duomenys. Tai tie patys pavyzdiniai duomenys, kuriuos galite įdiegti srityje Parametrai > Duomenų valdymas, esančioje „Dataverse“.

    waitforsampledatatoinstall
    Teisinga arba klaidinga. Jei teisinga ir jei " installsampledata reikšmė taip pat yra teisinga, prieš pradedant paketo diegimą laukiama, kol bus įdiegti pavyzdiniai duomenys.

    Pastaba

    Įsitikinkite, kad installsampledata reikšmė yra teisinga, jei nustatyta waitforsampledatatoinstall reikšmė yra teisinga.

    agentdesktopzipfile
    Išpakuojamo zip failo vardas. Jei čia nurodysite .zip failo vardą, paketo diegimo proceso metu jis bus įtrauktas ekraną, kuriame raginama pasirinkti vietą, kurioje norite išpakuoti failo turinį.

    Tai dažniausiai naudojama kuriant „Unified Service Desk for Dynamics 365“ paketus. Daugiau informacijos apie „Unified Service Desk“ žr. „Unified Service Desk 3.0“ administravimo vadove.

    agentdesktopexename
    .exe arba .msi failo, esančio zip faile, vardas arba URL, kurį reikia naudoti diegimo proceso pabaigoje.

    Tai dažniausiai naudojama kuriant „Unified Service Desk“ paketus.

    crmmigdataimportfile
    Numatytojo konfigūracijos duomenų failo (.zip), eksportuojamo naudojant konfigūravimo perkėlimo įrankį, vardas.

    • Pagal lokalės ID (LCID), nurodytą naudojant naujus vykdymo parametrus paleidus „Package Deployer“, taip pat galite importuoti lokalizuotą konfigūracijos duomenų failo versiją. Naudokite <cmtdatafile> mazgą (paaiškinta toliau), jei norite nurodyti lokalizuotas konfigūracijos duomenų failo versijas pakete, o tada naudokite OverrideConfigurationDataFileLanguage metodą (paaiškinta tolau), kad nurodytumėte konfigūracijos duomenų failo importavimo logiką pagal lokalės ID, nurodytą naudojant vykdymo parametrus. Naudojant paketą vienu metu negalima importuoti daugiau nei vieno konfigūracijos duomenų failo.

    • Dirbant su „Dataverse“ (vietinė versija), jei jūsų konfigūracijos duomenų faile yra vartotojo informacija, o šaltinio ir paskirties „Dataverse“ egzemplioriai yra tame pačiame „Active Directory“ domene, vartotojo informacija bus importuota į paskirties „Dataverse“ egzempliorių. Norėdami importuoti vartotojo informaciją į „Dataverse“ (vietinė versija) egzempliorių kitame domene, turite įtraukti vartotojo susiejimo failą (.xml), sugeneruotą naudojant jūsų projekto konfigūravimo perkėlimo įrankį, ir nurodyti jį kartu su konfigūracijos duomenų failu naudojant usermapfilename atributą, esantį <cmtdatafile> mazge, kuris aprašytas toliau. Vartotojo informacijos negalima importuoti į „Dataverse“ egzempliorius.
      <solutions> mazgas
      Jame yra <configsolutionfile> mazgų, apibūdinančių importuojamus sprendimus, masyvas. Sprendimų tvarka šiame mazge atitinka tvarką, kuria sprendimai bus importuojami į tikslinį „Dataverse“ egzempliorių.

      <configsolutionfile> mazgas
      Šį mazgą naudokite po <solutions>mazgo, kad nurodytumėte atskirus sprendimus ir toliau nurodytą informaciją apie kiekvieną importuojamą sprendimą:

    • solutionpackagefilename: Nurodykite savo sprendimo .zip failo vardą. Būtina.

    • overwriteunmanagedcustomizations: Nurodykite, ar norite perrašyti visus nevaldomus tinkinimus, kai importuojate sprendimą, kuris jau yra paskirties „Dynamics 365“ egzemplioriuje. Tai neprivaloma, o jei šio atributo nenurodysite, paskirties „Dynamics 365“ egzemplioriuje išlaikomi nevaldomi esamo sprendimo tinkinimai.

    • publishworkflowsandactivateplugins: Nurodykite, ar norite publikuoti darbo eigas ir aktyvuoti priedus paskirties „Dynamics 365“ egzemplioriuje, kai sprendimas bus importuotas. Tai neprivaloma, o jei šio atributo nenurodysite, sprendimą importavus į paskirties „Dynamics 365“ egzempliorių standartiškai publikuojamos darbo eigos ir aktyvuojami priedai.

      Įtraukdami <configsolutionfile>mazgus, į paketą galite įtraukti kelis sprendimo failų pavadinimus. Pavyzdžiui, jei norite importuoti tris sprendimo failus, juos įtraukite tokiu būdu:

    
    <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> mazgas
    Jame yra <configimportfile> ir <zipimportdetails> mazgų, naudojamų nurodyti importuojamus atitinkamai atskirus failus ir zip failus, masyvas.

    <configimportfile> mazgas
    Naudokite šį mazgą po <configimportfile> mazgo, norėdami aprašyti į „Dataverse“ importuojamą failą. Įtraukdami <configimportfile>mazgus, į paketą galite įtraukti kelis failus.

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

    Naudojami toliau nurodyti atributai.

    Atributas Aprašas
    filename Failo, kuriame yra importuojami duomenys, pavadinimas. Jei failas yra .zip failas, <zipimportdetails> mazgas turi turėti <zipimportdetail> mazgą kiekviename .zip faile esančiame faile.
    filetype Tai gali būti csv, xml arba zip.
    associatedmap „Dataverse“ importuojamų duomenų struktūros, naudojamos su šiuo failu, pavadinimas. Jei nenurodytas, šiam failui bandoma naudoti sistemos nustatytą importuojamų duomenų struktūros pavadinimą.
    importtoentity Tai gali būti .exe failo, esančio zip faile, vardas, URL arba .msi failas, naudojamas diegimo proceso pabaigoje.
    datadelimiter Importuojamame faile naudojamo duomenų skyriklio pavadinimas. Leistinos reikšmės yra vienguba kabutė arba dvigubos kabutės.
    fielddelimiter Importuojamame faile naudojamo lauko skyriklio pavadinimas. Leistinos reikšmės yra kablelis, dvitaškis arba vienguba kabutė.
    enableduplicatedetection Nurodo, ar importuojant duomenis aktyvuoti dubliavimo aptikimo taisykles. Galimos reikšmės yra teisinga arba klaidinga.
    isfirstrowheader Naudojama pažymėti, kad pirmoje importuojamo failo eilutėje yra laukų pavadinimai. Leidžiamos reikšmės yra true arba false.
    isrecordownerateam Nurodo, ar importuojamo įrašo savininkas turi būti komanda. Leidžiamos reikšmės yra true arba false.
    owneruser Nurodo vartotojo, kuriam turėtų priklausyti įrašai, ID. Numatytoji reikšmė yra šiuo metu prisijungęs vartotojas.
    waitforimporttocomplete Jei true, prieš tęsdama darbą sistema laukia, kol importavimas bus baigtas. Jei false, užduotys perkeliamos į eilę ir darbas tęsiamas.

    <zipimportdetails> mazgas
    Šiame mazge yra <zipimportdetail>mazgų, aprašančių failus, įtrauktus į zip failą, kuris naudojamas importuojant į „Dynamics 365“ aplinką, masyvas.

    <zipimportdetail> mazgas
    Naudokite šį mazgą po <zipimportdetails>mazgo, norėdami pateikti informaciją apie atskirą failą .zip faile, nurodytą <configimportfile> mazge.

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

    Naudojami toliau nurodyti atributai.

    Atributas Aprašas
    filename Failo, kuriame yra importuojami duomenys, pavadinimas.
    filetype Tai gali būti csv arba xml.
    importtoentity Tai gali būti .exe failo, esančio zip faile, vardas, URL arba .msi failas, naudojamas diegimo proceso pabaigoje.

    <filesmapstoimport> mazgas
    Šiame mazge yra importuojamų <configmapimportfile> mazgų masyvas. Šiame mazge esančių struktūros failų tvarka atitinka tvarką, kuria jie importuojami. Informacijos apie duomenų struktūras žr. Importuojamų duomenų struktūrų kūrimas.

    <configimportmapfile> mazgas
    Naudokite šį mazgą po <filesmapstoimport> mazgo, norėdami pateikti informaciją apie atskirą struktūros failą, importuojamą į „Dataverse“.

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

    <cmtdatafiles> mazgas
    Šiame mazge yra <cmtdatafile> mazgų, kuriuose yra lokalizuota importuojamo konfigūracijos duomenų failo versija, masyvas.

    <cmtdatafile> mazgas
    Naudokite šį mazgą po <cmtdatafiles> mazgo, norėdami nurodyti lokalizuotus konfigūracijos duomenų failus kartu su lokalės ID (privaloma) ir vartotojo informacijos struktūros failu (neprivaloma). Pavyzdžiui:

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

    Galite nurodyti savo pasirinktinę logiką OverrideConfigurationDataFileLanguage metode (paaiškinta toliau), jei atsižvelgiant į lokalės ID reikšmę, nurodytą naudojant vykdymo parametrus (paaiškinta toliau), norite importuoti lokalizuotą konfigūracijos duomenų failą, o ne numatytąjį (nurodytas crmmigdataimportfile).

  2. Spustelėkite Įrašyti viską.

    Toliau pateikiamas pavyzdinio failo ImportConfig.xml turinys.

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

5 veiksmas. Nurodykite pasirinktinį paketo kodą

  1. Srityje Sprendimų naršyklė dukart spustelėkite PackageTemplate.cs failą, esantį šaknyje, kad jį redaguotumėte.

  2. PackageTemplate.cs faile galite:

    1. Įveskite pasirinktinį kodą, kuris bus vykdomas, kai paketas inicijuojamas InitializeCustomExtension pakeitimo metodo apibrėžime.

      Šį metodą galima naudoti, kad paleidžiant paketą vartotojai galėtų naudoti vykdymo parametrus. Būdami kūrėju, naudodami RuntimeSettings ypatybę į paketą galite įtraukti bet kurio vykdymo parametrą palaikymą, jei tik yra kodas, apdorojantis jį atsižvelgiant į vartotojo įvestį.

      Pavyzdžiui, šis pavyzdinis kodas įjungia paketo vykdymo laiko parametrą, vadinamą SkipChecks ir turintį dvi galimas reikšmes: teisinga arba klaidinga. Pavyzdinis kodas tikrina, ar vartotojas vykdydamas „Package Deployer“ nurodė vykdymo parametrus (naudodamas komandų eilutę arba „“PowerShell“), o tada atitinkamai apdoroja informaciją. Jei vykdydamas paketą vartotojas nenurodė jokio vykdymo parametro, RuntimeSettings ypatybės reikšmė bus neapibrėžta.

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

      Tai leidžia administratoriui naudoti komandų eilutę arba Import-CrmPackage „cmdlet“, kad nurodytų, ar paleidžiant „Package Deployer“ įrankį paketo importavimui praleisti saugos patikras. Daugiau informacijos: Paketų diegimas naudojant „Package Deployer“ ir „Windows PowerShell“

    2. Įveskite pasirinktinį kodą, kuris bus vykdomas prieš importuojant sprendimus PreSolutionImport perrašymo metodo apibrėžime, kad nustatytumėte, ar palikti ar perrašyti tinkinimus atnaujinant nurodytą sprendimą paskirties „Dataverse“ egzemplioriuje ir ar automatiškai aktyvuoti priedus ir darbo eigas.

    3. Norėdami atlikti duomenų transformaciją arba atnaujinti sprendimo versiją, naudokite RunSolutionUpgradeMigrationStep perrašymo metodo apibrėžimą. Šis metodas kviečiamas tik tuo atveju, jei importuojamas sprendimas jau yra paskirties „Dataverse“ egzemplioriuje.

      Ši funkcija laukia šių parametrų:

      Parametras Aprašas
      solutionName Sprendimo pavadinimas
      oldVersion Seno sprendimo versijos numeris
      newVersion Naujo sprendimo versijos numeris
      oldSolutionId Seno sprendimo GUID.
      newSolutionId Naujo sprendimo GUID.
    4. Įveskite pasirinktinį kodą, kuris bus vykdomas prieš baigiant sprendimo importavimą BeforeImportStage metodo pakeitimo apibrėžime. Prieš baigiant sprendimo importavimą, importuojami pavyzdiniai duomenys ir tam tikri paprastieji sprendimų failai, nurodyti ImportConfig.xml faile.

    5. Naudodami OverrideConfigurationDataFileLanguage perrašymo metodo apibrėžimą, perrašykite šiuo metu pasirinktą konfigūravimo duomenų importavimo kalbą. Jei į paketą įtrauktų galimų kalbų sąraše nėra nurodytos kalbos nurodyto lokalės ID (LCID), importuojamas numatytasis duomenų failas.

      Galimas konfigūravimo duomenų kalbas galite nurodyti <cmtdatafiles> mazge, esančiame ImportConfig.xml faile. Numatytasis konfigūravimo duomenų importavimo failas nurodomas crmmigdataimportfile atribute, esančiame ImportConfig.xml faile.

      Gali būti naudinga praleisti duomenų tikrinimą (OverrideDataImportSafetyChecks = true), jei esate tikri, kad paskirties „Dataverse“ egzemplioriuje nėra jokių duomenų.

    6. Įveskite pasirinktinį kodą, kuris bus vykdomas baigus sprendimo importavimą AfterPrimaryImport metodo pakeitimo apibrėžime. Likę paprastieji failai, kurie nebuvo importuoti anksčiau, prieš pradedant sprendimo importavimą, yra importuojami dabar.

    7. Pakeiskite numatytąjį paketo aplanko pavadinimą iš PkgFolder į norimą paketo pavadinimą. Norėdami tai atlikti, pervadinkite PkgFolder aplanką srityje Sprendimų naršyklė, o tada redaguokite grąžinamą reikšmę ypatybėje 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. Pakeiskite paketo pavadinimą redaguodami grąžinamą reikšmę ypatybėje GetNameOfImport.

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

      Tai yra paketo pavadinimas, kuris bus rodomas „Dynamics 365 Package Deployer“ vedlio paketo pasirinkimo puslapyje.

    9. Pakeiskite paketo aprašymą redaguodami grąžinamą reikšmę ypatybėje GetImportPackageDescriptionText.

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

      Tai yra paketo aprašymas, kuris bus rodomas kartu su paketo pavadinimu „Package Deployer“ vedlio paketo pasirinkimo puslapyje.

    10. Pakeiskite paketo ilgąjį pavadinimą redaguodami grąžinamą reikšmę ypatybėje GetLongNameOfImport.

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

      Paketo ilgasis pavadinimas bus rodomas kitame puslapyje, kai pasirinksite diegiamą paketą.

  3. Be to, darbui su paketu galima naudoti šią funkciją ir kintamuosius:

    Vardas ir pavardė Tipas Aprašas
    CreateProgressItem(String) Funkcija Naudojama kurti naują eigos elementą vartotojo sąsajoje (UI).
    RaiseUpdateEvent(String, ProgressPanelItemStatus) Funkcija Naudojama atnaujini eigai, sukurtai pateikus CreateProgressItem(String) kvietimą.

    ProgressPanelItemStatus yra sąrašas su šiomis reikšmėmis:

    Darbas = 0
    Atlikta = 1
    Nepavyko = 2
    Įspėjimas = 3
    Nežinoma = 4
    RaiseFailEvent(String, Exception) Funkcija Naudojama nutraukti esamos būsenos importavimui su klaidos pranešimu.
    IsRoleAssoicatedWithTeam(Guid, Guid) Funkcija Naudojama nustatyti, ar vaidmuo yra susijęs su nurodyta komanda.
    IsWorkflowActive(Guid) Funkcija Naudojama nustatyti, ar nurodyta darbo eiga yra aktyvi.
    PackageLog Klasės rodyklė Tai yra rodyklė į paketo inicijuotą registracijos sąsają. Šią sąsają naudoja paketas pranešimų ir klaidų registracijai paketo žurnalo faile.
    RootControlDispatcher Ypatybė Tai yra skirstymo sąsaja, naudojama kontroliuoti nuosavai UI paketo diegimo metu. Naudokite šią sąsają išdėstyti bet kuriems UI elementams arba komandoms. Prieš naudojant, svarbu patikrinti, ar nėra neapibrėžtų šio kintamojo reikšmių, nes jis gali turėti arba gali neturėti reikšmės.
    CrmSvc Ypatybė Tai yra rodyklė į CrmServiceClient klasę, kuri leidžia paketui kreiptis į „Dynamics 365“ iš paketo. Naudokite ją vykdyti SDK metodams ir kitiems veiksmams perrašytuose metoduose.
    DataImportBypass Ypatybė Naudokite norėdami nurodyti, ar „Dynamics 365 Package Deployer“ turi praleisti visas duomenų importavimo operacijas, pvz., „Dataverse“ pavyzdinių duomenų, paprastųjų failų duomenų ir duomenų, eksportuotų iš konfigūravimo perkėlimo įrankio, importavimo operacijas. Nurodykite „teisinga“ arba „klaidinga“. Numatytoji reikšmė yra false.
    OverrideDataImportSafetyChecks Ypatybė Naudokite šią funkciją norėdami nurodyti, ar „Dynamics 365 Package Deployer“ ignoruos kai kuriuos saugos patikrinimus, taip siekiant pagerinti importavimo efektyvumą. Nurodykite true arba false. Numatytoji reikšmė yra false.

    Reikšmę true turite nustatyti tik tada, jei paskirties „Dataverse“ egzemplioriuje nėra jokių duomenų.
  4. Įrašykite projektą, o po to jį kurkite (Kurti > Kurti sprendimą), kad sukurtumėte paketą. Jūsų paketą sudaro šie failai, esantys aplanke <Project> \Bin\Debug

    • Aplankas <PackageName>: aplanko pavadinimas yra toks pat kaip ir jūsų paketo aplanko pavadinimo, kurį pakeitėte atlikdami šio skyriaus 2.g veiksmą (5 veiksmas. Nurodykite pasirinktinį paketo kodą). Šiame aplanke yra visi sprendimai, konfigūravimo duomenys, paprastieji failai ir jūsų paketo turinys.

    • <PackageName>.dll: rinkinyje yra pasirinktinis jūsų paketo kodas. Pagal numatytuosius nustatymus, rinkinio pavadinimas yra toks pats, kaip jūsų Visual Studio projekto pavadinimas.

      Kitas veiksmas – paketo diegimas.

Paketo diegimas

Sukūrę paketą, jį galite įdiegti „Dataverse“ egzemplioriuje naudodami „Package Deployer“ įrankį arba „Windows PowerShell“.

„Package Deployer“ įrankis platinamas kaip Microsoft.CrmSdk.XrmTooling.PackageDeployment NuGet paketo dalis. Norėdami atsisiųsti „Package Deployer“ įrankį, žr. Įrankių atsisiuntimas iš „NuGet“.

Išsamios informacijos žr. Paketų diegimas naudojant „Package Deployer“ arba „Windows PowerShell“.

Geriausia paketų kūrimo ir diegimo praktika

Kurdami paketus, kūrėjai turi užtikrinti, kad paketų rinkiniai būtų pasirašyti.

Diegiant paketus, „Dataverse“ administratoriai turi:

  • Reikalauti pasirašyto paketo rinkinio, kad jūs galėtumėte atsekti rinkinio šaltinį.
  • Prieš paketą vykdant gamybos egzemplioriuje, jį testuoti priešgamybiniame egzemplioriuje (geriausia, kad tai būtų gamybos egzemplioriaus kopija).
  • Prieš diegiant paketą, sukurti gamybos egzemplioriaus atsarginę kopiją.

Taip pat žr.

Sprendimo pakavimo įrankis

Pastaba

Ar galite mums pranešti apie dokumentacijos kalbos nuostatas? Atlikite trumpą apklausą. (atkreipkite dėmesį, kad ši apklausa yra anglų kalba)

Apklausą atliksite per maždaug septynias minutes. Asmeniniai duomenys nėra renkami (privatumo nuostatos).