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
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
vagyfalse
. Atrue
é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
vagyfalse
.isrecordownerateam
Azt jelzi, hogy a rekord tulajdonosának az importálás során csoportnak kell-e lennie. Érvényes értékek: true
vagyfalse
.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. Hafalse
, 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.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.
Módosítsa a PackageTemplate.cs (vagy PackageImportExtension.cs) fájlt a projekt gyökérmappjában.
Az C# fájlban a következőket teheti:
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.
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.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. 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 azImportConfig.xml
fájlban meghatározott megoldásokban szereplő mintaadatokat és néhány bennük szereplő egybesimított fájlt.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, azImportConfig.xml
fájlban adhatja meg. A konfigurációs adatok alapértelmezett importálási fájlja azImportConfig.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.
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.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 aGetImportPackageDataFolderName
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"; } }
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.
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 .
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ó.
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 = 4RaiseFailEvent(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 afalse
értéket adja meg. Az alapértelmezett afalse
.
Ezt a tulajdonságot csak akkor állítsa be,true
ha a célpéldány Dataverse nem tartalmaz adatokat.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.
- <PackageName> mappa: A mappa neve megegyezik az Egyéni kód hozzáadása szakasz 2.g lépésében a csomagmappa nevéhez módosított névvel. Ez a mappa tartalmazza a csomag megoldásait, konfigurációs adatait, egybesimított fájljait és tartalmát.
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.
A Package Deployer eszköz használatának telepítéséhez először töltse le az eszközt a Dataverse fejlesztési eszközökben leírtak szerint. Ezután kövesse a csomagok központi telepítésével kapcsolatos részletes információkat a Csomagok központi telepítése a Windows PowerShell használatával Package Deployer vagy használatával.
A parancssori felület használatával való telepítéshez használja a
pac package deploy
parancsot.> pac package deploy --package .\bin\Debug\DeploymentPackage.1.0.0.pdpkg.zip
Feljegyzés
Ha a parancssori felület használatával telepít egy csomagot egy célkörnyezetben, először be kell állítania egy hitelesítési profilt, és ki kell választania egy szervezetet. További információ: pac auth létrehozás, pac org kiválasztás
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.