Csomagok létrehozása a Package Deployer eszközhöz

A Package Deployer lehetővé teszi a rendszergazdák számára a csomagok Microsoft Dataverse-példányokon való központi telepítését. A Package Deployer csomag összetevői az alábbiak lehetnek:

  • Egy vagy több Dataverse megoldásfájl.
  • Egybesimított fájlok vagy a Konfigurációáttelepítő eszközből exportált konfigurációs adatfájl. További információ az eszközről: Konfigurációs adatok áthelyezése példányok és szervezetek között a Konfigurációáttelepítő eszközzel.
  • A csomag Dataverse-példányba való központi telepítése előtt, során vagy után futtatható egyedi kódok.
  • A csomagra jellemző HTML-tartalom, amely a központi telepítési folyamat elején és végén jelenhet meg. Ez egy hasznos tartalom a csomagban telepített megoldások és fájlok leírására.

Feljegyzés

Van egy másik csomagtípus is, úgynevezett beépülő modul. Az ilyen csomag beépülő moduloktól függő szerelvények számára van, és nincs kapcsolata a Package Deployer-csomagokkal.

Előfeltételek

  • Ügyeljen arra, hogy minden olyan megoldást és fájlt készítsen elő, amelyet fel szeretne venni a csomagba.
  • Visual Studio 2019 vagy újabb, vagy Visual Studio Kód.

Folyamat áttekintése

Csomag létrehozásához Package Deployer hajtsa végre a következő lépéseket.

  • Visual Studio vagy MSBuild projekt létrehozása
  • Megoldások és egyéb fájlok hozzáadása a projekthez
  • Html-fájlok frissítése (nem kötelező)
  • A csomag konfigurációs értékeinek megadása
  • Egyéni kód definiálása a csomaghoz
  • A csomag összeállítása és telepítése

Ezeket a lépéseket részletesen ebben a cikkben ismertetjük.

Csomagprojekt létrehozása

Az első lépés egy Visual Studio vagy egy MSBuild projekt létrehozása a csomaghoz. Ennek éhez telepítenie kell a fejlesztési számítógépre a két használható eszközbővítmény közül az egyiket. A Visual Studio Kód használata esetén telepítse a Microsoft Power Platform CLI programot. Máskülönben a Visual Studio 2019 használata esetén telepítse a Power Platform eszközöket a Visual Studio-hoz. Az Power Platform eszközök bővítmény jelenleg csak 2019-ben Visual Studio érhető el. A létrehozott projekt azonban a Visual Studio 2019-es vagy újabb felhasználásával is megtervezhető.

Az alábbi megfelelő lap kiválasztásával ismerje meg, hogyan hozhat létre projektet a kívánt eszközbővítmény használatával. Mindkét eszköznek hasonló a projekformátum-kimenete.

Az eredeti csomag létrehozásához futtassa a pac package init parancsot. További információ: pac csomag

pac package init help
pac package init --outputDirectory DeploymentPackage

Az eredményül kapott CLI kimenet az alábbiakban látható mappákat és fájlokat tartalmazza. Az itt használt példa a "DeploymentPackage" mappa neve.

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

A létrehozott projektben keresse meg az ImportConfig.xml konfigurációs fájlt a PkgAssets mappában és a PackageImportExtension.cs fájlt. Ezeket a fájlokat a cikk későbbi részében leírtak szerint fogja módosítani.

Új csomagfájl

A csomag projekt létrehozása után elkezdhet megoldásokat és egyéb fájlokat hozzáadni a projekthez.

A CLI használata során külső csomagokat, megoldásokat és hivatkozásokat adhat hozzá a csomag projektjéhez az egyik alparancs segítségével. Az alparancsok listájához adja meg a következőt: pac package help. Adjuk hozzá a megoldást a csomagunkhoz.

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

A csomag konfigurálása

  1. Adja meg a csomag konfigurációját a csomagra vonatkozó információk ImportConfig. xml fájlhoz való hozzáadásával a projektben. Szerkesztéshez nyissa meg a fájlt. A következő lista a konfigurációs fájlban található paraméterekkel és csomópontokkal kapcsolatos információkat tartalmaz.

    installsampledata
    True vagy false. A true érték használatával mintaadatokat telepít a Dataverse-példányba. Ezek az adatok egyeznek a Dataverse Beállítások>Adatkezelés területén telepíthető mintaadatokkal.

    waitforsampledatatoinstall
    True vagy false. Ha true, és ha az installsampledata értéke ugyancsak true, a rendszer megvárja a mintaadatok telepítését a csomag központi telepítése előtt.

    Feljegyzés

    Az installsampledata értéke legyen true, ha a waitforsampledatatoinstall értéke true.

    agentdesktopzipfile
    A kicsomagolni kívánt zip-fájl neve. Ha itt megadja egy .zip-fájl nevét, azzal felvesz egy olyan képernyőt a csomag központi telepítési folyamatába, amely azt kéri, hogy adja meg a fájl tartalmának kibontásához használni kívánt helyet.

    Ez az attribútum gyakran használt megoldás a Unified Service Desk for Dynamics 365 csomagjainak létrehozásához. További információ a Unified Service Deskről: Rendszergazdai útmutató a Unified Service Desk 3.0 szolgáltatásról.

    agentdesktopexename
    A zip-fájlban lévő .exe- vagy .msi-fájl neve, vagy a központi telepítési folyamat végén meghívandó URL-cím.

    Ez az attribútum gyakran használt megoldás a Unified Service Desk csomagjainak létrehozásakor.

    crmmigdataimportfile
    A Konfigurációáttelepítő eszközzel exportált alapértelmezett konfigurációs adatfájl (.zip) neve.

    • A Package Deployer futtatásakor az új futásidejű beállítások használatával megadott területibeállítás-azonosítón (LCID) alapuló konfigurációs adatfájl honosított verzióját is importálhatja. A (később ismertetett) <cmtdatafile> csomóponttal megadhatja a csomagban lévő konfigurációs adatfájl honosított verzióit, majd a (később ismertetett) OverrideConfigurationDataFileLanguage metódussal megadhatja a futásidejű beállítások használatával megadott területibeállítás-azonosítón (LCID) alapuló konfigurációs adatfájlhoz használandó logikát. Egyszerre csak egy konfigurációs adatfájlt importálhat egy csomag használatával.

    • Helyszíni Ha Dataverse a konfigurációs adatfájl felhasználói adatokat tartalmaz, és a forrás- és a célpéldány is ugyanazon az Active Directory-tartományon található, a rendszer importálja a felhasználói adatokat a célpéldányba Dataverse Dataverse . Ha másik tartományban lévő Dataverse (helyszíni)-példányba szeretné importálni a felhasználói adatokat, akkor a Konfigurációáttelepítő eszközzel fel kell venni a felhasználóleképezési fájlt (.xml) a projektbe, majd a konfigurációs adatfájllal együtt meg kell adni a usermapfilename attribútummal a <cmtdatafile> csomópontban (erről a későbbiekben olvashat). A felhasználói adatok nem importálhatók példányokba Dataverse .
      <solutions> csomópont
      Olyan <configsolutionfile> csomópontok tömbjét tartalmazza, amelyek leírják az importálandó megoldásokat. Az ebben a csomópontban lévő megoldások sorrendje jelzi, hogy milyen sorrendben történik a megoldások importálása a cél Dataverse-példányon.

      <configsolutionfile> csomópont
      Ez a <solutions> csomópont alatt található csomópont adja meg az egyes megoldásokat, valamint az egyes importálandó megoldásokra vonatkozó következő információkat:

    • solutionpackagefilename: Megadja a megoldás .zip-fájljának nevét. Szükséges.

    • overwriteunmanagedcustomizations: Megadja, hogy egy, a cél Dynamics 365-példányban már létező megoldás importálásakor felülírja-e a nem felügyelt testreszabásokat. Ez az attribútum nem kötelező, és ha nem adja meg ezt az attribútumot, alapértelmezés szerint a meglévő megoldás nem felügyelt testreszabásai megmaradnak a cél Dynamics 365-példányon.

    • publishworkflowsandactivateplugins: Megadja, hogy közzé kell-e tenni a munkafolyamatokat, és aktiválni kell-e a beépülő modulokat a cél Dynamics 365-példányban a megoldás importálása után. Ez az attribútum nem kötelező, és ha nem adja meg ezt az attribútumot, alapértelmezés szerint a munkafolyamatok közzétételre kerülnek, és a beépülő modulok aktiválódnak, miután a megoldást importálták a cél Dynamics 365-példányra.

      Egy csomagban több megoldásfájlnevet is hozzáadhat; ehhez ugyanannyi <configsolutionfile> csomópontot kell hozzáadni. Ha például három megoldásfájlt szeretne importálni, az alábbiak szerint vegye fel őket:

    
    <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> csomópont
    Olyan <configimportfile> és <zipimportdetails> csomópontok tömbje, amelyek importálandó egyéni fájlokat és zip-fájlokat írnak le.

    <configimportfile> csomópont
    Ezzel a <configimportfile> csomópont alá tartozó csomóponttal egy Dataverse rendszerbe importálandó fájlt írhat le. Egy csomagban több fájlt is hozzáadhat; ehhez ugyanannyi <configimportfile> csomópontot kell hozzáadni.

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

    Az alábbiakban a támogatott attribútumok listája látható:

    Attribútum Description
    filename Az importálási adatokat tartalmazó fájl neve. Ha a fájl .zip-fájl, akkor a .zip fájl valamennyi fájljához kell lennie egy <zipimportdetails> csomópontnak egy <zipimportdetail> csomóponttal.
    filetype Ez az érték csv-, xml- vagy zip-fájl lehet.
    associatedmap A fájllal használandó importálási Dataverse-adatleképezés neve. Ha üres, a rendszer az importálási adatleképezés rendszer által meghatározott nevét próbálja használni ehhez a fájlhoz.
    importtoentity Lehet a zip-fájlban lévő .exe neve, URL-cím vagy egy .msi-fájl a folyamat végén meghívandó hivatkozás biztosításához.
    datadelimiter Az adatok importálási fájlban használt elválasztó karakterének a neve. Az érvényes értékek egyszeres idézőjelek vagy dupla idézőjelek.
    fielddelimiter A mező importálási fájlban használt elválasztó karakterének a neve. Az érvényes értékek vessző, kettőspont vagy szimpla idézőjel.
    enableduplicatedetection Azt jelzi, hogy az adatimportáláshoz engedélyezve van-e a duplikált elemek észlelésének szabálya. Érvényes értékek: true vagy false.
    isfirstrowheader Azt jelöli, hogy az importálási fájl első sora tartalmaz-e mezőneveket. Érvényes értékek: true vagy false.
    isrecordownerateam Azt jelzi, hogy a rekord tulajdonosának az importálás során csoportnak kell-e lennie. Érvényes értékek: true vagy false.
    owneruser Az a felhasználói azonosító, amelynek a rekordok tulajdonosának kell lennie. Az alapértelmezett érték az aktuálisan bejelentkezett felhasználó.
    waitforimporttocomplete Ha true, a rendszer a folytatás előtt megvárja az importálás végét. Ha false, a feladatok várólistába kerülnek, és a rendszer továbblép.

    <zipimportdetails> csomópont
    Ez a csomópont olyan <zipimportdetail> csomópontok tömbjét tartalmazza, amelyek leírják a Dynamics 365-be való importáláshoz használt zip-fájlban található fájlokat.

    <zipimportdetail> csomópont
    Ezzel a <zipimportdetails> csomópont alá tartozó csomóponttal információkat adhat meg egy .zip-fájl egyik olyan fájljáról, amely a <configimportfile> csomópontban lett meghatározva.

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

    Az alábbiakban a támogatott attribútumok listája látható:

    Attribútum Description
    filename Az importálási adatokat tartalmazó fájl neve.
    filetype Ez az érték csv- vagy zip-fájl lehet.
    importtoentity Lehet a zip-fájlban lévő .exe neve, URL-cím, vagy egy .msi-fájl a folyamat végén meghívandó hivatkozás biztosításához.

    <filesmapstoimport> csomópont
    Ez a csomópont az importálandó <configmapimportfile> csomópontok tömbjét tartalmazza. A térképfájlok sorrendje ebben a csomópontban jelzi az importálás sorrendjét. További információ az adatleképezésekről: Adatleképezések létrehozása importáláshoz.

    <configimportmapfile> csomópont
    Ezzel a <filesmapstoimport> csomópont alatt található csomóponttal információkat adhat meg egy importálandó egyéni leképezési fájlról a Dataverse szolgáltatásban.

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

    <cmtdatafiles> csomópont
    Ez a csomópont csomópontok tömbjét <cmtdatafile> tartalmazza, amely az importálandó konfigurációs adatfájl honosított verzióját tartalmazza.

    <cmtdatafile> csomópont
    Ezzel a <cmtdatafiles> csomópont alatt található csomóponttal meghatározhatja a honosított konfigurációs adatok fájljait, a területibeállítás-azonosítót (kötelező) és a felhasználói adatok leképezési fájlját (nem kötelező). Például:

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

    A (később ismertetendő) OverrideConfigurationDataFileLanguage metódusban egyéni logikát definiálhat, hogy az alapértelmezett (a crmmigdataimportfile metódusban megadott) fájl helyett a honosított konfigurációs adatok fájlját importálja a (később ismertetendő) futásidejű beállításokkal megadott területibeállítás-azonosító (LCID) értéke alapján.

  2. Válassza az Összes mentése lehetőséget.

    Az alábbi xml egy mintafájl ImportConfig.xml tartalmát jelöli.

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

Egyéni kód hozzáadása

A csomag környezetbe importálása előtt, közben és után végrehajtható egyéni kódot is hozzáadhat. Ehhez tegye a következők lépéseket.

  1. Módosítsa a PackageTemplate.cs (vagy PackageImportExtension.cs) fájlt a projekt gyökérmappjában.

  2. Az C# fájlban a következőket teheti:

    1. Egyéni végrehajtandó kódot adhat meg, amelyet akkor kell végrehajtani, amikor a rendszer inicializálja a csomagot az InitializeCustomExtension felülbírálási metódusának definíciójában.

      Ezzel a metódussal engedélyezheti, hogy a felhasználók a futásidejű paramétereket használják a csomag futtatásakor. Fejlesztőként a RuntimeSettings tulajdonsággal támogathatja bármelyik futásidejű paramétert a csomaghoz, ha rendelkezik megfelelő kóddal, hogy feldolgozza a paramétert a felhasználói bevitel alapján.

      A következő mintakód például a két lehetséges értékkel (true vagy false) rendelkező SkipChecks futásidejű paramétert engedélyezi a csomaghoz. A mintakód ellenőrzi, hogy a felhasználó adott-e meg futásidejű paramétereket a Package Deployer (parancssorból vagy PowerShell használatával történő) futtatásakor, és ennek megfelelően dolgozza fel az információkat. Ha a csomag futtatásakor a felhasználó nem ad meg futásidejű paramétert, a RuntimeSettings tulajdonság értéke null lesz.

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

      Ez a kód lehetővé teszi, hogy a rendszergazda a parancssorból vagy az Import-CrmPackage parancsmaggal megadja, hogy ki kell-e hagyni a biztonsági ellenőrzéseket a csomag Package Deployer eszközzel történő importálásakor. További információ: Csomagok központi telepítése a Package Deployer és a Windows PowerShell használatával.

    2. Adja meg azt az egyéni kódot, amelyet végre kell hajtani, mielőtt a megoldásokat importálná a PreSolutionImport felülbírálási metódusának definíciójába ahhoz, hogy meghatározza, hogy a testreszabásokat meg kell-e tartani, vagy felül kell-e bírálni a cél Dataverse-példány adott megoldásának frissítésekor, illetve hogy automatikusan aktiválni kell-e a beépülő modulokat és a munkafolyamatokat.

    3. A felülbírálási metódus definíciójának RunSolutionUpgradeMigrationStep használata adatátalakítás vagy frissítés végrehajtásához egy megoldás két verziója között Ezt a metódust csak akkor hívja meg a rendszer, ha az importált megoldás már jelen van a célpéldányban Dataverse .

      Ez a függvény a következő paramétereket várja:

      Paraméter Ismertetés
      solutionName A megoldás neve
      oldVersion A régi megoldás verziószáma
      newVersion Az új megoldás verziószáma
      oldSolutionId A régi megoldás GUID azonosítója.
      newSolutionId Az új megoldás GUID azonosítója.
    4. A BeforeImportStage metódus felülbírálási definíciójában egyéni végrehajtandó kódot adhat meg, amelynek a végrehajtására a megoldás importálásának befejeződése előtt kerül sor. Mielőtt a megoldás importálása befejeződik, a rendszer importálja az ImportConfig.xml fájlban meghatározott megoldásokban szereplő mintaadatokat és néhány bennük szereplő egybesimított fájlt.

    5. Bírálja felül a konfigurációs adatok importálásához aktuálisan kiválasztott nyelvet a felülbírálási metódus definíciójával OverrideConfigurationDataFileLanguage. Ha a megadott nyelv megadott területibeállítás-azonosítója (LCID) nem található a csomagban elérhető nyelvek listájában, a rendszer importálja az alapértelmezett adatfájlt.

      A konfigurációs adatokhoz rendelkezésre álló nyelveket a <cmtdatafiles> csomópontban, az ImportConfig.xml fájlban adhatja meg. A konfigurációs adatok alapértelmezett importálási fájlja az ImportConfig.xml fájlban található crmmigdataimportfile attribútumban van megadva.

      Az adatellenőrzések kihagyása (OverrideDataImportSafetyChecks = igaz) itt akkor lehet hatékony, ha biztos abban, hogy a célpéldány Dataverse nem tartalmaz adatokat.

    6. Az AfterPrimaryImport> metódus felülbíráló definíciójában egyéni kódot adhat meg, amelyet az importálás befejezése után kell végrehajtani. A fennmaradó egyszerű fájlok, amelyeket korábban nem importáltak a megoldás importálásának megkezdése előtt, most importálódnak.

    7. Módosítsa a csomag mappájának alapértelmezett nevét a kívánt csomagnévre. Ehhez nevezze át a PkgFolder (vagy Pkg) mappát a Megoldástallózó paneljén, és szerkessze a visszatérési értéket a GetImportPackageDataFolderName tulajdonságnál.

      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. Módosítsa a csomag nevét a visszatérési érték GetNameOfImport tulajdonságnál történő módosításával.

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

      Ez a visszaadott érték a csomag neve, amely megjelenik a Dynamics 365 Package Deployer varázsló csomagválasztó oldalán.

    9. Módosítsa a csomag leírását a visszatérési érték GetImportPackageDescriptionText tulajdonságnál történő módosításával.

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

      Ez a visszaadott érték a csomag leírása, amely a varázsló csomagkiválasztási lapján a csomag neve mellett jelenik meg Package Deployer .

    10. Módosítsa a csomag hosszú nevét a visszatérési érték GetLongNameOfImport tulajdonságnál történő módosításával.

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

      A csomag hosszú neve a telepítendő csomag kiválasztása után következő oldalon látható.

  3. Emellett a következő függvény és változók is használhatók a csomaghoz:

    Név szerint Típus szerint Ismertetés
    CreateProgressItem(String) Function Új folyamatban lévő elem felhasználói felületen (UI) történő létrehozására használható.
    RaiseUpdateEvent(String, ProgressPanelItemStatus) Function A hívás által létrehozott folyamatot a következőre frissíti: CreateProgressItem(String).

    A ProgressPanelItemStatus a következő értékekkel rendelkező felsorolás:

    Működik = 0
    Befejeződött = 1
    Sikertelen = 2
    Figyelmeztetés = 3
    Ismeretlen = 4
    RaiseFailEvent(String, Exception) Function Az aktuális állapot importálásának sikertelenségét okozza, kivételről tájékoztató üzenettel.
    IsRoleAssoicatedWithTeam(Guid, Guid) Function Annak megállapítására szolgál, hogy egy szerepkört egy adott csoporthoz társítottak-e.
    IsWorkflowActive(Guid) Function Annak megállapítására használható, hogy egy adott munkafolyamat aktív-e.
    PackageLog Osztály mutatója Egy mutató, amely a csomag inicializált naplózási felületére mutat. Ezt az interfészt egy csomag használja a csomag naplófájljában lévő üzenetek és kivételek naplózására.
    RootControlDispatcher Tulajdonság Egy továbbító felület, amely lehetővé teszi, hogy a vezérlő renderelje a saját kezelőfelületét a csomag központi telepítése során. Ezzel az interfésszel bármilyen felhasználói felületi elemet vagy parancsot becsomagolhat. Fontos, hogy használat előtt ellenőrizze a változó null értékeit, mivel előfordulhat, hogy nincs értékre állítva.
    CrmSvc Tulajdonság Egy olyan mutató, amely a CrmServiceClient osztályra mutat, és lehetővé teszi, hogy egy csomag megcímezze a Dynamics 365-öt a csomagon belül. A mutató használatával SDK-metódusokat és egyéb műveleteket hajthat végre a felülbírált metódusokban.
    DataImportBypass Tulajdonság Ezzel meghatározhatja, hogy a Dynamics 365 Package Deployer átugorja-e az összes adatimportálási műveletet (például a Dataverse mintaadatainak, az egybesimított fájl adatainak vagy a Konfigurációáttelepítő eszközből exportált adatok importálását). True vagy false értéket kell megadni. Az alapértelmezett a false.
    OverrideDataImportSafetyChecks Tulajdonság Adja meg, hogy a Dynamics 365 Package Deployer megkerül-e néhány biztonsági ellenőrzést, ami segít javítani az importálási teljesítményt. A true vagy a false értéket adja meg. Az alapértelmezett a false.

    Ezt a tulajdonságot csak akkor állítsa be, true ha a célpéldány Dataverse nem tartalmaz adatokat.
  4. Mentse a projektet. A következő lépés a csomag buildelése.

Buildelés és üzembe helyezés

A következő szakaszok a csomagok összeállítását és központi telepítését ismertetik.

Buildelés

A csomag felépítését az alábbiakban ismertetjük, attól függően, hogy melyik eszközt használja.

A CLI-vel létrehozott csomag létrehozásához betöltheti a .csproj fájlt Visual Studio, de ehelyett a dotnet parancsot és az MSBuild parancsot fogjuk használni. Az alábbi példa feltételezi, hogy a működő könyvtár tartalmazza a *.csproj fájlt.

> dotnet publish

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

Nem kötelezően meg is használhatja a felépített csomag részleteit.

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

A csomag a következő fájlokat tartalmazza a <Project>\Bin\Debug mappában.

Feljegyzés

Előfordulhat, hogy egy .NET mappát (pl. net472) lát, amely egypublish mappát tartalmaz. A DLL-fájlja és az egyéb projektfájlok abban a nyilvános mappában vannak.

  • <PackageName>.dll: A szerelvény tartalmazza a csomag egyéni kódját. Alapértelmezés szerint a szerelvény neve megegyezik projektjének nevével.

Üzembe helyezés

A csomag létrehozását követően elvégezheti a csomag központi telepítését a Dataverse-példányon a Package Deployer vagy a Windows PowerShell vagy a parancssori felületi parancs eszközzel.

Ajánlott eljárások

Az alábbiakban néhány gyakorlati tanács található a Package Deployer csomagok használatához.

Csomagok létrehozása

A csomagok létrehozásakor a fejlesztőknek:

  • Győződjön meg arról, hogy a csomagszerelvények alá vannak írva.

Csomagok üzembe helyezése

A csomagok központi telepítése során a Dataverse rendszergazdáknak az alábbiakat kell kötelezően megtenniük:

  • Kötelezően biztosítani egy aláírt csomagszerelvényt, hogy később visszakövethessék a szerelvényt egészen a forrásáig.
  • Tesztelje a csomagot egy üzem előtti példányon, lehetőleg a termelési példány tükörképén, mielőtt futtatná egy termelési példány.
  • A csomag központi telepítése előtt biztonsági másolatot készíteni a termelési példányról.

Kapcsolódó információk

Solution Packager eszköz