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. Egy 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 eszköz a csomagban telepített megoldások és fájlok leírására.

A csomagok létrehozásához egy Visual Studio 2015-ös vagy újabb (letölthető) sablont használ a rendszer. Egy csomag létrehozása után a Package Deployer eszközzel telepítse központilag a csomagot egy Dataverse-példányra.

Előfeltételek

  • Ügyeljen arra, hogy minden olyan megoldást és fájlt készítsen elő, amelyet fel szeretne venni a csomagba.
  • Microsoft .NET Framework 4.6.2
  • Visual Studio 2015 vagy újabb verzió
  • NuGet Package Manager Visual Studio 2015 rendszerhez
  • A csomagsablont tartalmazó Microsoft Dynamics CRM SDK-sablonok Visual Studio rendszerhez. A beszerzéshez töltse le a Microsoft Dynamics CRM SDK-sablonokat, és kattintson duplán a CRMSDKTemplates.vsix fájlra a sablon Visual Studio rendszerben történő telepítéséhez.

Csomag létrehozása

Csomag létrehozásához hajtsa végre a következő öt lépést:

1. lépés: Projekt létrehozása a sablonnal

  1. Indítsa el a Visual Studio programot, és hozzon létre egy új projektet.

  2. Az Új projekt párbeszédablakban:

    1. A telepített sablonok listájában bontsa ki a Visual C# pontot, majd válassza a Dynamics 365 SDK-sablonok lehetőséget.
    2. Győződjön meg arról, hogy a .NET-keretrendszer 4.6.2 lehetőséget választotta.
    3. Válassza a Dynamics 365-csomag lehetőséget.
    4. Adja meg a projekt nevét és helyét, majd kattintson az OK lehetőségre.

    Új projekt egyéni csomag létrehozásához.

2. lépés: A fájlok hozzáadása a projekthez

  1. A Megoldástallózó panelen adja hozzá a PkgFolder mappa alá a megoldásokat és a fájlokat.
  2. Az összes PkgFolder mappa alá adott fájl esetén állítsa a Kimeneti könyvtárba másolás értékét Mindig másolja lehetőségre a Tulajdonságok ablakban. Ez biztosítja, hogy a fájl elérhető legyen a létrehozott csomagban.

3. lépés: A HTML-fájlok frissítése – angol és más nyelvek

  1. A Megoldástallózó panelen bontsa ki a PkgFolder > Tartalom > en-us pontot. Két mappát talál: EndHTML és WelcomeHTML. Ezek a mappák tartalmazzák az olyan HTML-fájlokat és társított fájlokat, amelyek lehetővé teszik, hogy a csomag központi telepítési folyamatának végén és elején információkat lehessen megjeleníteni. Ha információkat szeretne hozzáadni a csomaghoz, módosítsa az ezen mappák HTML mappájában lévő fájlokat.

  2. A csomagban lévő HTML-fájlokat más nyelveken is felveheti, így a HTML-tartalom a felhasználó számítógépének nyelvi beállításainak megfelelő nyelven jelenik meg. Ehhez szükséges:

    1. Hozzon létre egy másolatot az en-us mappáról a PkgFolder > Tartalom részen.
    2. Nevezze át az átmásolt mappát a megfelelő nyelvre. A spanyol nyelv esetén például nevezze át es-ES-re.
    3. Módosítsa a HTML-fájlok tartalmát a spanyol tartalom hozzáadásához.

4. lépés: A csomag konfigurációs értékeinek megadá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 fájl a PkgFolder mappában van. A szerkesztéshez való megnyitásához kattintson duplán a fájlra. 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 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.

    Megjegyzé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 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 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. Csomag használatával egyszerre csak egy konfigurációs adatfájlt lehet importálni.

    • Ha a Dataverse (helyszíni) rendszernél a konfigurációs adatfájl felhasználói adatokat tartalmaz, és a forrásként és a célként használt Dataverse-példány ugyanabban az Active Directory-tartományban van, akkor a rendszer a felhasználó adatait a cél Dataverse-példányba importálja. 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 Dataverse-példányokba.
      <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 nem kötelező, és ha nem adja meg ezt az attribútumot, a meglévő megoldásban lévő nem felügyelt testreszabásokat a rendszer alapértelmezés szerint megtartja a cél Dynamics 365-példányban.

    • 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 nem kötelező, és ha nem adja meg ezt az attribútumot, akkor a rendszer alapértelmezés szerint közzéteszi a munkafolyamatokat, és aktiválja a beépülő modulokat a megoldás importálása után a cél Dynamics 365-példányon.

      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, a következőképpen 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>  
    
    

    Ennek a következő attribútumokkal kell rendelkeznie:

    Attribútum Ismertetés
    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 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: singlequote vagy doublequotes.
    fielddelimiter A mező importálási fájlban használt elválasztó karakterének a neve. Az érvényes értékek: comma vagy colon, vagy singlequote.
    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>  
    
    

    Ennek a következő attribútumokkal kell rendelkeznie:

    Attribútum Ismertetés
    filename Az importálási adatokat tartalmazó fájl neve.
    filetype Ez csv- vagy xml-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. Az ebben a csomópontban lévő leképezési fájlok sorrendje jelzi a fájlok importálásának 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 a <cmtdatafile> csomópontok olyan tömbjét tartalmazza, amelyben az importálandó konfigurációs adatfájl honosított verziója található.

    <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. Kattintson Az összes mentése gombra.

    Az alábbiakban egy minta ImportConfig.xml fájl tartalma látható.

    <?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. lépés: Egyéni kód definiálása a csomaghoz

  1. A Megoldástallózó ablaktáblán kattintson duplán a gyökérkönyvtárban lévő PackageTemplate.cs fájlra a fájl szerkesztéséhez.

  2. A PackageTemplate.cs fájlban a következőket végezheti el:

    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 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 RunSolutionUpgradeMigrationStep felülbírálási metódusának definíciójával adatok alakíthatók át, illetve frissíthetők két megoldásverzió között. A metódus meghívására csak akkor kerül sor, ha az importált megoldás már szerepel a cél Dataverse-példányban.

      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. Az OverrideConfigurationDataFileLanguage felülbírálási metódusának definíciójával felülbírálja a konfigurációs adatok importálásához aktuálisan kijelölt nyelvet. Ha a megadott nyelv területibeállítás-azonosítója (LCID) nem található meg a csomag rendelkezésre álló nyelveinek listájában, akkor az alapértelmezett adatfájlt importálja a rendszer.

      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 = true) akkor lehet hatékony megoldás, ha biztos benne, hogy a cél Dataverse-példány nem tartalmaz adatot.

    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ődése után kell végrehajtani. A korábban, a megoldás importálásának kezdete előtt nem importált egybesimított fájlokat most importálja a rendszer.

    7. Módosítsa a csomag mappájának alapértelmezett nevét a PkgFolder névről a kívánt csomagnévre. Ehhez nevezze át a PkgFolder 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 csomagnév jelenik meg a Dynamics 365 Package Deployer varázslójában, a csomagok kiválasztására szolgáló lapon.

    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 csomagleírás jelenik meg a csomag nevével a Package Deployer varázslóban, a csomagok kiválasztására szolgáló lapon.

    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 Olyan 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 Ez olyan 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óban a null értékeket, mert nem biztos, hogy a változóhoz van megadott érték.
    CrmSvc Tulajdonság Ez 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 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 határozhatja meg, 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 Ezzel adhatja meg, hogy a Dynamics 365 Package Deployer megkerüljön-e bizonyos biztonsági ellenőrzéseket; ez javíthatja az importálási teljesítményt. A true vagy a false értéket adja meg. Az alapértelmezett a false.

    Csak akkor használja a true értéket, ha a cél Dataverse-példány nem tartalmaz adatot.
  4. Mentse el a projektet, majd állítsa össze (Összeállítás > Megoldás összeállítása) a csomag létrehozásához. A csomag a következő fájlokat tartalmazza a <Project> \Bin\Debug mappában

    • <PackageName> mappa: A mappa neve az, amire módosította a csomag mappájának a nevét a jelen szakasz 2.g lépésében (5. lépés: Egyéni kód definiálása a csomaghoz). Ez a mappa tartalmazza a csomag megoldásait, konfigurációs adatait, egybesimított fájljait és tartalmát.

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

      A következő lépés a csomag központi telepítése.

Csomag központi telepítése

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 eszközzel.

A Package Deployer a Microsoft.CrmSdk.XrmTooling.PackageDeployment NuGet csomag része. A Package Deployer letöltése: Eszközök letöltése a NuGet felületéről.

További információ: Csomagok telepítése a Package Deployer vagy a Windows PowerShell használatával

Gyakorlati tanácsok csomagok létrehozásához és központi telepítéséhez

A csomagok létrehozása során a fejlesztőknek gondoskodniuk kell róla, hogy a csomagszerelvények alá legyenek írva.

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.
  • Előkészítő környezetben (lehetőleg a termelési példánnyal teljesen megegyező rendszerben) tesztelni a csomagot, mielőtt termelési példányon futtatnák.
  • 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

Megjegyzés

Megosztja velünk a dokumentációja nyelvi preferenciáit? Rövid felmérés elvégzése. (ne feledje, hogy ez a felmérés angol nyelvű)

A felmérés elvégzése körülbelül hét percet vesz igénybe. Semmilyen személyes adatot nem gyűjtünk (adatvédelmi nyilatkozat).