Pakettide loomine Package Deployeri tööriistale
Package Deployer võimaldab administraatoritel pakette Microsoft Dataverse'i eksemplaril juurutada. Package Deployer paketis võib sisalduda mõni või kõik allnimetatutest:
- Üks või mitu Dataverse-i lahendusefaili.
- Lamefailid või konfiguratsiooni migreerimise tööriistast eksporditud konfiguratsiooniandmete fail. Lisateavet tööriista kohta leiate jaotisest Konfiguratsiooniandmete teisaldamine eksemplaride ja organisatsioonide vahel Konfiguratsiooni ülemineku tööriista abil.
- Kohandatud kood, mida saab käitada enne paketi juurutamist Dataverse'i eksemplari või selle ajal või pärast seda.
- Paketiga seotud HTML-sisu, mida võidakse kuvada juurutusprotsessi alguses ja lõpus. See on kasulik paketis juurutatud lahenduste ja failide kirjelduse esitamiseks.
Märkus.
On olemas ka teine paketitüüp mida nimetatakse lisandmoodulipaketiks. Sellist tüüpi pakett on lisandmoodulist sõltuvate assemblerite jaoks ja sel pole seost pakettidega Package Deployer .
eeltingimused
- Veenduge, et kõik lahendused ja failid, mida soovite paketti kaasata, oleksid selleks valmis.
- Visual Studio 2019 või uuem või Visual Studio kood.
Protsessi ülevaade
Paketi loomiseks Package Deployer toimige järgmiselt.
- Looge Visual Studio või MSBuild projekt
- Projektile lahenduste ja muude failide lisamine
- Esitatud HTML-failide värskendamine (valikuline)
- Määrake paketi konfiguratsiooniväärtused
- Määratlege paketi kohandatud kood
- Paketi koostamine ja juurutamine
Neid samme kirjeldatakse üksikasjalikult käesolevas artiklis.
Projekti paketi loomine
Esimene etapp on luua paketi jaoks Visual Studio MSBuild-projekt. Selleks peab teil olema arendusarvutisse installitud üks kahest saadaolevast tööriistalaiendist. Kui kasutate Visual Studio Code, installige Microsoft Power Platform CLI. Muul juhul, kasutades Visual Studio 2019, installige Power Platform tools Visual Studio jaoks. Tööriistade Power Platform laiendus on praegu saadaval ainult 2019. aastaks Visual Studio . Kuid loodud projekti saab luua Visual Studio 2019. aasta või hilisema versiooni abil.
Valige allolevalt vahekaardilt, et teada saada, kuidas luua projekti soovitud tööriistalaiendiga. Mõlemad tööriistad väljundid projekti sarnases vormingus.
Käivitage algne pakett paketi algse käsuga. Lisateave: paketi pakkimine
pac package init help
pac package init --outputDirectory DeploymentPackage
Tulemuseks saadud CLI väljund sisaldab allpool kuvatavaid kaustu ja faile. Siin on näitena kasutatud kausta nime "DeploymentPackage".
C:.
└───DeploymentPackage
│ DeploymentPackage.csproj
│ PackageImportExtension.cs
│
└───PkgAssets
ImportConfig.xml
manifest.ppkg.json
Loodud projektis leidke kaustast PkgAssets konfiguratsioonifail ImportConfig.xml ja fail PackageImportExtension.cs. Muudate neid faile selles artiklis allpool kirjeldatud viisil.
Paketi failide lisamine
Pärast pakettlahenduse projekti loomist saate sellele projektile lisada lahendusi ja muid faile.
CLI kasutamisel saate lisada väliseid pakette, lahendusi ja viiteid oma pakett projektile, kasutades ühte alamkommandruutidest . Sisetage pac package help
et näha käskude loendit. Lisame oma paketti lahenduse.
> 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.
Paketi konfigureerimine
Määratlege paketi konfiguratsioon, lisades oma paketi teabe faili ImportConfig.xml, mis on saadaval projektis. Avage redigeerimiseks fail. Järgmine loend sisaldab teavet konfiguratsioonifaili iga parameetri ja sõlme kohta.
installsampledata
True
võifalse
. Kui ontrue
, installib näidisandmed Dataverse'i eksemplari. Need on samad näidisandmed, mida saate installida Dataverse, valides Sätted>Andmehaldus.waitforsampledatatoinstall
Tõene või väär. Kui on tõene ja kui ka installsampledata on seatud väärtusele Tõene, ootab näidisandmete installimist enne paketi juurutamist.Märkus.
Kui seate suvandi
waitforsampledatatoinstall
väärtuseks tõene, veenduge, et seate ka suvandi installsampledata väärtuseks tõene.agentdesktopzipfile
ZIP-faili faili nimi lahtipakkimiseks. Kui määrate siin ZIP-faili nime, lisab see paketi juurutamise käigus kuva, mis palub teil valida asukoha, kuhu soovite faili sisu lahti pakkida.Seda kasutatakse tavaliselt Dynamics 365 Unified Service Desk pakettide loomiseks. Lisateavet Unified Service Deski kohta vt teemast Rakenduse Unified Service Desk for Dynamics 3.0 haldusjuhend.
agentdesktopexename
ZIP-failis oleva .exe- või .msi-faili nimi või URL, mis avatakse juurutusprotsessi lõpus.Seda atribuuti kasutatakse tavaliselt Unified Service Deski pakettide loomiseks.
crmmigdataimportfile
Konfiguratsiooni migreerimise tööriista abil eksporditud konfiguratsiooniandmete vaikefaili (.zip) nimi.Samuti saate importida konfiguratsiooniandmete faili lokaliseeritud versiooni, mis põhineb Package Deployeri käitamisel uute käitusaja sätete abil määratud lokaadi ID-l (LCID). Kasutage sõlme
<cmtdatafile>
(selgitatakse allpool), et määrata konfiguratsiooniandmete faili lokaliseeritud versioonid paketis ja seejärel kasutage meetoditOverrideConfigurationDataFileLanguage
(selgitatakse allpool), et määrata konfiguratsiooniandmete faili importimise loogika käitusaja sätete abil määratud lokaadi ID alusel. Te ei saa importida korraga rohkem kui ühte konfiguratsiooniandmefaili, kasutades paketti.Kui Dataverse teie konfiguratsiooniandmefail sisaldab kasutajateavet ning nii lähte- kui ka sihteksemplarid asuvad samas Active Directory domeenis, imporditakse kasutajateave (asutusesisene) sihteksemplari Dataverse Dataverse . Kasutaja teabe importimiseks Dataverse'i (asutusesisene) eksemplari mõnes muus domeenis peate kaasama oma projekti konfiguratsiooni migreerimise tööriista abil loodud kasutaja kaardi faili (.xml) ja määrama selle koos konfiguratsiooniandmete failiga, kasutades allpool selgitatud sõlme
<cmtdatafile>
atribuutiusermapfilename
. Kasutajateavet ei saa eksemplaridesse importida Dataverse .
<solutions>
sõlm
Sisaldab sõlmede<configsolutionfile>
massiivi, mis kirjeldavad imporditavaid lahendusi. Selle sõlme all olevate lahenduste järjestus näitab, millises järjekorras imporditakse lahendusi Dataverse'i sihteksemplaris.<configsolutionfile>
sõlm
Kasutage seda sõlme<solutions>
juurde kuuluvat sõlme, et määrata iga imporditava lahenduse jaoks eraldi lahendused ja järgmine teave.solutionpackagefilename
: määrake lahenduse .zip faili nimi. Nõutav.overwriteunmanagedcustomizations
: saate määrata, kas mõni haldamata kohandus kirjutatakse üle, kui impordite lahenduse, mis on juba Dynamics 365 sihteksemplaris olemas. See atribuut on valikuline ja kui te seda atribuuti ei määra, säilitatakse olemasolevas lahenduses mittehallatavad kohandused vaikimisi Dynamics 365-i sihteksemplaris.publishworkflowsandactivateplugins
: saate määrata, kas avaldada töövood ja aktiveerida lisandmoodulid Dynamics 365 sihteksemplaris pärast lahenduse importimist. See atribuut on valikuline ja kui te seda atribuuti ei määra, avaldatakse töövood vaikimisi ja lisandmoodulid aktiveeritakse pärast lahenduse importimist Dynamics 365-i sihteksemplari.Paketti saate lisada mitu lahenduse faili nime, lisades sama palju sõlmi
<configsolutionfile>
. Näiteks kui soovite importida kolme lahenduse faili, lisage need järgmiselt:
<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>
sõlm
Sisaldab sõlmede<configimportfile>
ja<zipimportdetails>
massiivi, mida kasutatakse imporditavate failide ja zip-failide kirjeldamiseks.<configimportfile>
sõlm
Kasutage seda sõlme<configimportfile>
juurde kuuluvat sõlme, et kirjeldada Dataverse'isse imporditavat faili. Paketti saate lisada mitu faili, lisades sama palju sõlmi<configimportfile>
.<filestoimport> <configimportfile filename="File.csv" filetype="CSV" associatedmap="FileMap" importtoentity="FileEntity" datadelimiter="" fielddelimiter="comma" enableduplicatedetection="true" isfirstrowheader="true" isrecordownerateam="false" owneruser="" waitforimporttocomplete="true" /> <configimportfile filename="File.zip" filetype="ZIP" associatedmap="FileMapName" importtoentity="FileEntity" datadelimiter="" fielddelimiter="comma" enableduplicatedetection="true" isfirstrowheader="true" isrecordownerateam="false" owneruser="" waitforimporttocomplete="true"/> </filestoimport>
Allpool on toetatud atribuutide loend:
Atribuut Kirjeldus filename
Impordiandmeid sisaldava faili nimi. Kui fail on .zip fail, peab sõlm <zipimportdetails>
esinema koos sõlmega<zipimportdetail>
iga .zip failis oleva faili jaoks.filetype
See väärtus võib olla CSV, XML või ZIP. associatedmap
Selle failiga kasutatava Dataverse'i impordi andmekaardi nimi. Kui see on tühi, proovib selle faili jaoks kasutada süsteemi määratud impordi andmekaardi nime. importtoentity
Võib olla ZIP-failis oleva .exe-faili, URL-i või .msi-faili nimi, et pakkuda protsessi lõpus käivitatavat linki. datadelimiter
Impordifailis kasutatava andmeeraldaja nimi. Kehtivad väärtused on ühe- või jutumärgid. fielddelimiter
Impordifailis kasutatava failieraldaja nimi. Kehtivad väärtused on koma või koolon või üks tsitaat. enableduplicatedetection
Näitab, kas lubada duplikaadituvastuse reeglid andmete importimisel. Kehtivad väärtused on tõene või väär. isfirstrowheader
Kasutatakse selle tähistamiseks, et impordifaili esimene rida sisaldab väljanimesid. Kehtivad väärtused on true
võifalse
.isrecordownerateam
Näitab, kas imporditava kirje omanik peaks olema meeskond. Kehtivad väärtused on true
võifalse
.owneruser
Kuvab kasutaja ID, mis peaks kirjeid omama. Vaikeväärtus on praegu sisse logitud kasutaja. waitforimporttocomplete
Kui on true
, ootab süsteem impordi lõpuleviimist enne jätkamist. Kui onfalse
, siis see järjestab tööd ja liigub edasi.<zipimportdetails>
sõlm
See sõlm sisaldab sõlmede<zipimportdetail>
massiivi, mis kirjeldab Dynamics 365 importimiseks kasutatavasse ZIP-faili kaasatud faile.<zipimportdetail>
sõlm
Kasutage seda sõlme<zipimportdetails>
juurde kuuluvat sõlme, et anda teavet üksiku ZIP-failis oleva faili kohta, mis on määratud sõlmes<configimportfile>
.<filestoimport> ... ... <zipimportdetails> <zipimportdetail filename="subfile1.csv" filetype="csv" importtoentity="account" /> <zipimportdetail filename="subfile2.csv" filetype="csv" importtoentity="contact" /> </zipimportdetails> </filestoimport>
Allpool on toetatud atribuutide loend:
Atribuut Kirjeldus filename
Impordiandmeid sisaldava faili nimi. filetype
See võib olla csv või xml. importtoentity
Võib olla ZIP-failis oleva .exe-faili, URL-i või .msi-faili nimi, et pakkuda protsessi lõpus käivitatavat linki. <filesmapstoimport>
sõlm
See sõlm sisaldab imporditavate sõlmede<configmapimportfile>
massiivi. Kaardifailide järjekord selles sõlmes näitab nende importimise järjekorda. Lisateavet andmekaartide kohta leiate teemast andmekaartide loomine importimiseks.<configimportmapfile>
sõlm
Kasutage seda sõlme<filesmapstoimport>
juurde kuuluvat sõlme, et anda teavet Dataverse'isse imporditava üksiku kaardifaili kohta.<filesmapstoimport> <configimportmapfile filename="FileMap.xml" /> </filesmapstoimport>
<cmtdatafiles>
sõlm
See sõlm sisaldab sõlmede<cmtdatafile>
massiivi, mis sisaldab imporditava konfiguratsiooniandmefaili lokaliseeritud versiooni.<cmtdatafile>
sõlm
Kasutage seda sõlme<cmtdatafiles>
juurde kuuluvat sõlme, et määrata lokaliseeritud konfiguratsiooniandmete failid koos lokaadi ID-ga (nõutav) ja kasutajateabe kaardifailiga (valikuline). Näiteks:<cmtdatafiles> <cmtdatafile filename="data_1033.zip" lcid="1033" usermapfilename="UserMap.xml" /> <cmtdatafile filename="data_1041.zip" lcid="1041" usermapfilename="" /> </cmtdatafiles>
Kohandatud loogika saate määratleda meetodis
OverrideConfigurationDataFileLanguage
(selgitatud allpool), et vaikefaili (määratletud failis crmmigdataimportfile) asemel importida lokaliseeritud konfiguratsiooniandmete fail, mis põhineb käitusaja sätete (selgitatakse allpool) abil määratud lokaadi ID (LCID) väärtusel.Valige Salvesta kõik.
Järgmine xml tähistab näidisfaili
ImportConfig.xml
sisu.<?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>
Kohandatud koodi lisamine
Saate lisada kohandatud koodi, mis käivitub enne paketti importimist, selle ajal ja pärast importimist. Selleks järgige järgmisi juhiseid.
Redigeerige PackageTemplate.cs (või PackageImportExtension.cs) faili projekti juurkaustas.
C# failis saate teha järgmist.
Sisestage kohandatud kood, mis käivitatakse paketi lähtestamisel meetodi
InitializeCustomExtension
alistamisdefinitsioonis.Selle meetodi abil saavad kasutajad kasutada käitusaja parameetreid paketi käitamisel. Arendajana saate paketile lisada mis tahes käitusaja parameetri toe, kasutades RuntimeSettings atribuuti seni, kuni teil on kood selle töötlemiseks kasutaja sisestuse põhjal.
Näiteks lubab järgmine näidiskood käitusaja parameetri nimega
SkipChecks
paketi jaoks, millel on kaks võimalikku väärtust: tõene või väär. Näidiskood kontrollib, kas kasutaja on Package Deployeri käitamise (käsurea või PowerShelli abil) ajal määranud käitusaja parameetrid ja seejärel töötleb teavet vastavalt. Kui kasutaja ei määra paketi käitamise ajal käitusaja parameetrit, siis RuntimeSettings atribuut on tühiväärtusega.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"); }
See võimaldab administraatoril kasutada käsurida või Import-CrmPackage i cmdlet-käsku, et määrata, kas Package Deployer tööriista käitades jätta ohutuskontrollid vahele paketi importimiseks. Lisateavet vt Pakettide juurutamine Package Deployeriga ja Windows PowerShelliga
Sisestage kohandatud kood, mis käivitatakse enne lahenduste importimist meetodi
PreSolutionImport
alistamisdefinitsioonis, et määrata, kas säilitada või kirjutada kohandused üle määratud lahenduse värskendamisel Dataverse'i sihteksemplaris ning kas aktiveerida lisandmoodulid ja töövood automaatselt.Alistamismeetodi definitsiooni
RunSolutionUpgradeMigrationStep
kasutamine andmete teisendamiseks või lahenduse kahe versiooni vaheliseks täiendamiseks Seda meetodit nimetatakse ainult siis, kui imporditav lahendus on sihteksemplaris Dataverse juba olemas.See funktsioon eeldab järgmisi parameetreid.
Parameeter Kirjeldus solutionName
Lahenduse nimi oldVersion
Vana lahenduse versiooninumber newVersion
Uue lahenduse versiooninumber oldSolutionId
Vana lahenduse GUID. newSolutionId
Uue lahenduse GUID. Sisestage kohandatud kood, mis käivitatakse enne lahenduse importimise lõpuleviimist meetodi
BeforeImportStage
alistamisdefinitsioonis. Näidisandmed ja mõned lamefailid failisImportConfig.xml
määratud lahenduste jaoks imporditakse enne lahenduse importimise lõpulejõudmist.Alistage konfiguratsiooniandmete importimiseks praegu valitud keel, kasutades alistamismeetodi definitsiooni
OverrideConfigurationDataFileLanguage
. Kui määratud keele määratud lokaadi ID-d (LCID) ei leita paketi saadaolevate keelte loendist, imporditakse vaikeandmefail.Konfigureerimisandmete jaoks saadaolevad keeled saate määrata faili
ImportConfig.xml
sõlmes<cmtdatafiles>
. Konfiguratsiooniandmete impordi vaikefail on määratud failiImportConfig.xml
atribuudiscrmmigdataimportfile
.Andmekontrollide vahelejätmine (OverrideDataImportSafetyChecks = tõene) võib siin olla tõhus, kui olete kindel, et sihteksemplar Dataverse ei sisalda andmeid.
Sisestage kohandatud kood, mis käivitatakse pärast lahenduse importimise lõpuleviimist meetodi
AfterPrimaryImport
>alistamisdefinitsioonis. Ülejäänud lamefailid, mida ei imporditud varem, enne lahenduse importimise algust, imporditakse nüüd.Muutke paketi kausta vaikenimi soovitud paketi nimeks. Selleks nimetage
PkgFolder
(või PkgAssets) kaustas Lahenduse uurijas paanil ja seejärel redigeerige atribuudiGetImportPackageDataFolderName
tagastusväärtust.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"; } }
Muutke paketi nime, redigeerides atribuudi
GetNameOfImport
tagastusväärtust.public override string GetNameOfImport(bool plural) { return "Package Short Name"; }
See tagastatud väärtus on teie paketi nimi, mis kuvatakse Dynamics 365-i Package Deployer viisardi paketivaliku lehel.
Muutke paketi kirjeldust, redigeerides atribuudi
GetImportPackageDescriptionText
tagastusväärtust.public override string GetImportPackageDescriptionText { get { return "Package Description"; } }
See tagastatud väärtus on paketi kirjeldus, mis kuvatakse viisardi paketivaliku lehel Package Deployer paketi nime kõrval.
Muutke paketi pikka nime, redigeerides atribuudi
GetLongNameOfImport
tagastusväärtust.public override string GetLongNameOfImport { get { return "Package Long Name"; } }
Paketi pikk nimi kuvatakse järgmisel lehel pärast seda, kui olete valinud installitava paketi.
Lisaks on paketile saadaval järgmised funktsioonid ja muutujad:
Nimi Tüüp Kirjeldus CreateProgressItem(String) Function Kasutatakse kasutajaliideses (UI) uue poolelioleva üksuse loomiseks. RaiseUpdateEvent(String, ProgressPanelItemStatus) Function Kasutatakse CreateProgressItem(String) kutse abil loodud edenemise värskendamiseks.
ProgressPanelItemStatus on loetelu, millel on järgmised väärtused:
Töötamine = 0
Täielik = 1
Nurjunud = 2
Hoiatus = 3
Tundmatu = 4RaiseFailEvent(String, Exception) Function Kasutatakse praeguse oleku importimise nurjumiseks erandi teatega. IsRoleAssoicatedWithTeam(Guid, Guid) Function Kasutatakse selleks, et määratleda, kas roll on seostatud määratud meeskonnaga. IsWorkflowActive(Guid) Function Kasutatakse selleks, et määratleda, kas määratud töövoog on aktiivne. PackageLog Klassi viit See on viide paketi lähtestatud logimisliidesele. Seda liidest kasutab pakett sõnumite ja erandite logimiseks paketi logifaili jaoks. RootControlDispatcher Atribuut See on dispetšeri liides, mida kasutatakse selleks, et teie juhtelement saaks paketi juurutamise ajal oma kasutajaliidese renderdada. Selle liidese abil saate mähkida kõik kasutajaliidese elemendid või käsud. Enne selle muutuja kasutamist on oluline kontrollida, kas sellel muutujal pole nullväärtusi, kuna see ei pruugi olla väärtusele seatud. CrmSvc Atribuut See on viit CrmServiceClient klassile, mis võimaldab paketil adresseerida lahendust Dynamics 365 paketi kaudu. Selle abil saate käitada tühistatud meetodites SDK-meetodeid ja muid toiminguid. DataImportBypass Atribuut Selle abil saate määrata, kas Dynamics 365 Package Deployer jätab vahele kõik andmete imporditoimingud Dataverse näidisandmete, faili andmete ja Konfiguratsiooni ülemineku tööriista eksporditud andmete importimise. Määrake: tõene või väär. Vaikesäte on false
.OverrideDataImportSafetyChecks Atribuut Määrake, kas Dynamics 365 Package Deployer möödub mõnest oma ohutuskontrollist, mis aitab parandada impordi jõudlust. Määrake: true
võifalse
. Vaikesäte onfalse
.
Peaksite selle atribuudi määramatrue
ainult siis, kui sihteksemplar Dataverse ei sisalda andmeid.Salvestage oma projekt. Järgmine etapp on paketi ehitamine.
Ehita ja juuruta
Järgmistes jaotistes kirjeldatakse, kuidas paketti koostada ja juurutada.
Koosta
Paketi koostamist kirjeldatakse allpool sõltuvalt sellest, millist tööriista kasutate.
CLI-ga loodud paketi loomiseks võite laadida .csproj faili Visual Studio, kuid selle asemel kasutame käsku dotnet ja MSBuild. Allolevas näites eeldatakse, et töökataloog sisaldab faili *.csproj.
> dotnet publish
DeploymentPackage -> C:\Users\peter\Downloads\DeploymentPackage\bin\Debug\DeploymentPackage.1.0.0.pdpkg.zip
Soovi korral saate vaadata sisseehitatud paketi üksikasju.
> pac package show --package .\bin\Debug\DeploymentPackage.1.0.0.pdpkg.zip
Teie pakett on loodud failis <Projekt>\Bin\Debug kaustas.
- <Kausta> PackageName (Paketinimi):kausta nimi on sama, mida muutsite paketikausta nimeks käesoleva jaotise juhises 2.g Kohandatud koodi lisamine. See kaust sisaldab teie paketi kõiki lahendusi, konfiguratsiooniandmeid, lamefaile ja sisu.
Märkus.
Võib näha .NET-i kausta (nt net472), mis sisaldab pdpublish kausta. Teie DLL muud projektifailid asuvad selles pdpublish kaustas.
- <PackageName>.dll: komplekt sisaldab teie paketi kohandatud koodi. Vaikimisi on assembleri nimi sama mis teie projekti nimi.
Juuruta
Pärast paketi loomist saate selle juurutada Dataverse eksemplaris Package Deployer tööriista või Windows PowerShell või CLI käsu abil.
Tööriista juurutamiseks laadige Package Deployer esmalt tööriist alla, nagu on kirjeldatud Dataverse arendustööriistades. Järgmisena järgige üksikasjalikku teavet paketi juurutamise kohta artiklis Pakettide juurutamine Windows PowerShelli abil Package Deployer .
CLI abil juurutamiseks kasutage
pac package deploy
käsku.> pac package deploy --package .\bin\Debug\DeploymentPackage.1.0.0.pdpkg.zip
Märkus.
Paketi juurutamiseks sihtkeskkonda CLI abil peate esmalt seadistama autentimisprofiili ja valima organisatsiooni. Lisateave: auth paketi loomine, paketi org valik
Head tavad
Allpool on toodud mõned parima tava näpunäited, mida pakettidega töötamisel Package Deployer järgida.
Paketi loomine
Pakettide loomisel peavad arendajad:
- Veenduge, et paketi assembleritele oleks alla kirjutatud.
Pakettide juurutamine
Kui juurutate pakette, Dataverse administraatorid peavad:
- nõudma allkirjastatud paketi komplekti et teil oleks võimalik tuvastada komplekti allikat.
- Testige pakendit tootmiseelsel eksemplaril, eelistatavalt tootmiseksemplar peegelpildil, enne kui käivitate selle tootmiseksemplar-ga.
- tegema tootmiseksemplarist enne paketi juurutamist varukoopia.