Paketų kūrimas „Package Deployer“ įrankiui
„Package Deployer“ suteikia administratoriams galimybę diegti paketus „Microsoft Dataverse“ egzemplioriuose. Paketą gali sudaryti bet kurie iš toliau nurodytų elementų arba jie visi:
- Vienas arba keli Dataverse sprendimo failai.
- Paprasti failai arba eksportuotų konfigūracijos duomenų failas iš konfigūravimo perkėlimo įrankio. Daugiau informacijos apie įrankį žr. Konfigūravimo duomenų perkėlimas tarp egzempliorių ir organizacijų naudojant konfigūravimo perkėlimo įrankį.
- Pasirinktinis kodas, kuris gali būti vykdomas prieš diegiant, diegimo metu arba įdiegus paketą „Dataverse“ egzemplioriuje.
- HTML turinys, susijęs su konkrečių paketu, kuris gali būti rodomas diegimo proceso pradžioje arba pabaigoje. Tai gali būti naudinga pateikti sprendimų ir failų, kurie visuotinai diegiami, aprašą pakete.
Paketams kurti naudojamas „Visual Studio 2015” arba naujesnės versijos šablonas (galimas atsisiųsti). Sukūrus paketą, naudokite „Package Deployer“ įrankį, kad įdiegtumėte paketą „Dataverse“ egzemplioriuje.
Būtinosios sąlygos
- Įsitikinkite, kad turite visus sprendimus ir failus, kuriuos norite įtraukti į paketą.
- Microsoft .NET Framework 4.6.2
- „Visual Studio 2015” arba naujesnė versija
- „NuGet“ paketų tvarkyklė, skirta „Visual Studio 2015“
- „Microsoft Dynamics CRM SDK“ šablonai, skirti „Visual Studio“, kuriame yra paketo šablonas. Galite gauti atsisiųsdami „Microsoft Dynamics CRM SDK“ šablonus ir du kartus spustelėdami failą
CRMSDKTemplates.vsix, kad „Visual Studio“ įdiegtumėte šabloną.
Paketo kūrimas
Norėdami sukurti paketą, atlikite šiuos penkis veiksmus:
- 1 veiksmas. Sukurkite projektą naudodami šabloną
- 2 veiksmas. Įtraukite failus į projektą
- 3 veiksmas. Atnaujinkite HTML failus
- 4 veiksmas. Nustatykite paketo konfigūracijos reikšmes
- 5 veiksmas. Nurodykite pasirinktinį paketo kodą
1 veiksmas. Sukurkite projektą naudodami šabloną
Paleiskite „Visual Studio“ ir sukurkite naują projektą.
Dialogo lange Naujas projektas:
- Įdiegtų šablonų sąraše išplėskite „Visual C#“ ir pasirinkite „Dynamics 365“ SDK šablonai.
- Įsitikinkite, kad pasirinkta „.NET Framework 4.6.2“.
- Pasirinkite „Dynamics 365“ paketas.
- Nurodę projekto pavadinimą ir vietą, spustelėkite Gerai.

2 veiksmas. Įtraukite failus į projektą
- Srityje Sprendimų naršyklė į aplanką PkgFolder įtraukite savo sprendimus ir failus.
- Kiekvienam failui, kurį įtraukiate aplanke PkgFolder, srityje Ypatybės nustatykite Kopijuoti į išvesties katalogą reikšmę Kopijuoti visada. Tai užtikrina, kad failas yra pasiekiamas sugeneruotame pakete.
3 veiksmas. Atnaujinkite HTML failus: anglų ir kitos kalbos
Srityje Sprendimų naršyklė išplėskite PkgFolder > Turinys > en-us. Rasite du aplankus, pavadintus
EndHTMLirWelcomeHTML. Šiuose aplankuose yra HTML ir susiję failai, kurie leidžia peržiūrėti informaciją paketo diegimo proceso pradžioje ir pabaigoje. Redaguokite šių aplankų HTML aplanke esančius failus, kad įtrauktumėte informaciją į paketą.Taip pat į paketą galite įtraukti HTML failus kitomis kalbomis, kad HTML turinys būtų rodomas kalba, atsižvelgiant į vartotojo kompiuterio lokalės parametrus. Norėdami tai atlikti:
- Sukurkite aplanko en-us kopiją PkgFolder > Turinys.
- Pervadinkite nukopijuotą aplanką į atitinkamą kalbą. Pavyzdžiui, ispanų kalba pervardykite jį į es-ES.
- Pakeiskite HTML failų turinį, kad įtrauktumėte ispanišką turinį.
4 veiksmas. Nustatykite paketo konfigūracijos reikšmes
Nustatykite paketo konfigūraciją įtraukdami informaciją apie paketą ImportConfig.xml faile, kuris yra PkgFolder. Du kartus spustelėkite failą, kad jį atidarytumėte redagavimui. Šiame sąraše pateikiama informacija apie kiekvieną parametrą ir mazgą konfigūracijos faile.
installsampledata
Truearbafalse. Jeitrue, „Dataverse“ egzemplioriuje įdiegiami pavyzdiniai duomenys. Tai tie patys pavyzdiniai duomenys, kuriuos galite įdiegti srityje Parametrai > Duomenų valdymas, esančioje „Dataverse“.waitforsampledatatoinstall
Teisinga arba klaidinga. Jei teisinga ir jei " installsampledata reikšmė taip pat yra teisinga, prieš pradedant paketo diegimą laukiama, kol bus įdiegti pavyzdiniai duomenys.Pastaba
Įsitikinkite, kad installsampledata reikšmė yra teisinga, jei nustatyta
waitforsampledatatoinstallreikšmė yra teisinga.agentdesktopzipfile
Išpakuojamo zip failo vardas. Jei čia nurodysite .zip failo vardą, paketo diegimo proceso metu jis bus įtrauktas ekraną, kuriame raginama pasirinkti vietą, kurioje norite išpakuoti failo turinį.Tai dažniausiai naudojama kuriant „Unified Service Desk for Dynamics 365“ paketus. Daugiau informacijos apie „Unified Service Desk“ žr. „Unified Service Desk 3.0“ administravimo vadove.
agentdesktopexename
.exe arba .msi failo, esančio zip faile, vardas arba URL, kurį reikia naudoti diegimo proceso pabaigoje.Tai dažniausiai naudojama kuriant „Unified Service Desk“ paketus.
crmmigdataimportfile
Numatytojo konfigūracijos duomenų failo (.zip), eksportuojamo naudojant konfigūravimo perkėlimo įrankį, vardas.Pagal lokalės ID (LCID), nurodytą naudojant naujus vykdymo parametrus paleidus „Package Deployer“, taip pat galite importuoti lokalizuotą konfigūracijos duomenų failo versiją. Naudokite
<cmtdatafile>mazgą (paaiškinta toliau), jei norite nurodyti lokalizuotas konfigūracijos duomenų failo versijas pakete, o tada naudokiteOverrideConfigurationDataFileLanguagemetodą (paaiškinta tolau), kad nurodytumėte konfigūracijos duomenų failo importavimo logiką pagal lokalės ID, nurodytą naudojant vykdymo parametrus. Naudojant paketą vienu metu negalima importuoti daugiau nei vieno konfigūracijos duomenų failo.Dirbant su „Dataverse“ (vietinė versija), jei jūsų konfigūracijos duomenų faile yra vartotojo informacija, o šaltinio ir paskirties „Dataverse“ egzemplioriai yra tame pačiame „Active Directory“ domene, vartotojo informacija bus importuota į paskirties „Dataverse“ egzempliorių. Norėdami importuoti vartotojo informaciją į „Dataverse“ (vietinė versija) egzempliorių kitame domene, turite įtraukti vartotojo susiejimo failą (.xml), sugeneruotą naudojant jūsų projekto konfigūravimo perkėlimo įrankį, ir nurodyti jį kartu su konfigūracijos duomenų failu naudojant
usermapfilenameatributą, esantį<cmtdatafile>mazge, kuris aprašytas toliau. Vartotojo informacijos negalima importuoti į „Dataverse“ egzempliorius.
<solutions>mazgas
Jame yra<configsolutionfile>mazgų, apibūdinančių importuojamus sprendimus, masyvas. Sprendimų tvarka šiame mazge atitinka tvarką, kuria sprendimai bus importuojami į tikslinį „Dataverse“ egzempliorių.<configsolutionfile>mazgas
Šį mazgą naudokite po<solutions>mazgo, kad nurodytumėte atskirus sprendimus ir toliau nurodytą informaciją apie kiekvieną importuojamą sprendimą:solutionpackagefilename: Nurodykite savo sprendimo .zip failo vardą. Būtina.overwriteunmanagedcustomizations: Nurodykite, ar norite perrašyti visus nevaldomus tinkinimus, kai importuojate sprendimą, kuris jau yra paskirties „Dynamics 365“ egzemplioriuje. Tai neprivaloma, o jei šio atributo nenurodysite, paskirties „Dynamics 365“ egzemplioriuje išlaikomi nevaldomi esamo sprendimo tinkinimai.publishworkflowsandactivateplugins: Nurodykite, ar norite publikuoti darbo eigas ir aktyvuoti priedus paskirties „Dynamics 365“ egzemplioriuje, kai sprendimas bus importuotas. Tai neprivaloma, o jei šio atributo nenurodysite, sprendimą importavus į paskirties „Dynamics 365“ egzempliorių standartiškai publikuojamos darbo eigos ir aktyvuojami priedai.Įtraukdami
<configsolutionfile>mazgus, į paketą galite įtraukti kelis sprendimo failų pavadinimus. Pavyzdžiui, jei norite importuoti tris sprendimo failus, juos įtraukite tokiu būdu:
<solutions> <configsolutionfile solutionpackagefilename="SampleSolutionOne_1_0_managed.zip" overwriteunmanagedcustomizations="false" publishworkflowsandactivateplugins="true"/> <configsolutionfile solutionpackagefilename="SampleSolutionTwo_1_0_managed.zip" overwriteunmanagedcustomizations="false" publishworkflowsandactivateplugins="true"/> <configsolutionfile solutionpackagefilename="SampleSolutionThree_1_0_managed.zip" /> </solutions><filestoimport>mazgas
Jame yra<configimportfile>ir<zipimportdetails>mazgų, naudojamų nurodyti importuojamus atitinkamai atskirus failus ir zip failus, masyvas.<configimportfile>mazgas
Naudokite šį mazgą po<configimportfile>mazgo, norėdami aprašyti į „Dataverse“ importuojamą failą. Įtraukdami<configimportfile>mazgus, į paketą galite įtraukti kelis failus.<filestoimport> <configimportfile filename="File.csv" filetype="CSV" associatedmap="FileMap" importtoentity="FileEntity" datadelimiter="" fielddelimiter="comma" enableduplicatedetection="true" isfirstrowheader="true" isrecordownerateam="false" owneruser="" waitforimporttocomplete="true" /> <configimportfile filename="File.zip" filetype="ZIP" associatedmap="FileMapName" importtoentity="FileEntity" datadelimiter="" fielddelimiter="comma" enableduplicatedetection="true" isfirstrowheader="true" isrecordownerateam="false" owneruser="" waitforimporttocomplete="true"/> </filestoimport>Naudojami toliau nurodyti atributai.
Atributas Aprašas filenameFailo, kuriame yra importuojami duomenys, pavadinimas. Jei failas yra .zip failas, <zipimportdetails>mazgas turi turėti<zipimportdetail>mazgą kiekviename .zip faile esančiame faile.filetypeTai gali būti csv, xml arba zip. associatedmap„Dataverse“ importuojamų duomenų struktūros, naudojamos su šiuo failu, pavadinimas. Jei nenurodytas, šiam failui bandoma naudoti sistemos nustatytą importuojamų duomenų struktūros pavadinimą. importtoentityTai gali būti .exe failo, esančio zip faile, vardas, URL arba .msi failas, naudojamas diegimo proceso pabaigoje. datadelimiterImportuojamame faile naudojamo duomenų skyriklio pavadinimas. Leistinos reikšmės yra vienguba kabutė arba dvigubos kabutės. fielddelimiterImportuojamame faile naudojamo lauko skyriklio pavadinimas. Leistinos reikšmės yra kablelis, dvitaškis arba vienguba kabutė. enableduplicatedetectionNurodo, ar importuojant duomenis aktyvuoti dubliavimo aptikimo taisykles. Galimos reikšmės yra teisinga arba klaidinga. isfirstrowheaderNaudojama pažymėti, kad pirmoje importuojamo failo eilutėje yra laukų pavadinimai. Leidžiamos reikšmės yra truearbafalse.isrecordownerateamNurodo, ar importuojamo įrašo savininkas turi būti komanda. Leidžiamos reikšmės yra truearbafalse.owneruserNurodo vartotojo, kuriam turėtų priklausyti įrašai, ID. Numatytoji reikšmė yra šiuo metu prisijungęs vartotojas. waitforimporttocompleteJei true, prieš tęsdama darbą sistema laukia, kol importavimas bus baigtas. Jeifalse, užduotys perkeliamos į eilę ir darbas tęsiamas.<zipimportdetails>mazgas
Šiame mazge yra<zipimportdetail>mazgų, aprašančių failus, įtrauktus į zip failą, kuris naudojamas importuojant į „Dynamics 365“ aplinką, masyvas.<zipimportdetail>mazgas
Naudokite šį mazgą po<zipimportdetails>mazgo, norėdami pateikti informaciją apie atskirą failą .zip faile, nurodytą<configimportfile>mazge.<filestoimport> ... ... <zipimportdetails> <zipimportdetail filename="subfile1.csv" filetype="csv" importtoentity="account" /> <zipimportdetail filename="subfile2.csv" filetype="csv" importtoentity="contact" /> </zipimportdetails> </filestoimport>Naudojami toliau nurodyti atributai.
Atributas Aprašas filenameFailo, kuriame yra importuojami duomenys, pavadinimas. filetypeTai gali būti csv arba xml. importtoentityTai gali būti .exe failo, esančio zip faile, vardas, URL arba .msi failas, naudojamas diegimo proceso pabaigoje. <filesmapstoimport>mazgas
Šiame mazge yra importuojamų<configmapimportfile>mazgų masyvas. Šiame mazge esančių struktūros failų tvarka atitinka tvarką, kuria jie importuojami. Informacijos apie duomenų struktūras žr. Importuojamų duomenų struktūrų kūrimas.<configimportmapfile>mazgas
Naudokite šį mazgą po<filesmapstoimport>mazgo, norėdami pateikti informaciją apie atskirą struktūros failą, importuojamą į „Dataverse“.<filesmapstoimport> <configimportmapfile filename="FileMap.xml" /> </filesmapstoimport><cmtdatafiles>mazgas
Šiame mazge yra<cmtdatafile>mazgų, kuriuose yra lokalizuota importuojamo konfigūracijos duomenų failo versija, masyvas.<cmtdatafile>mazgas
Naudokite šį mazgą po<cmtdatafiles>mazgo, norėdami nurodyti lokalizuotus konfigūracijos duomenų failus kartu su lokalės ID (privaloma) ir vartotojo informacijos struktūros failu (neprivaloma). Pavyzdžiui:<cmtdatafiles> <cmtdatafile filename="data_1033.zip" lcid="1033" usermapfilename="UserMap.xml" /> <cmtdatafile filename="data_1041.zip" lcid="1041" usermapfilename="" /> </cmtdatafiles>Galite nurodyti savo pasirinktinę logiką
OverrideConfigurationDataFileLanguagemetode (paaiškinta toliau), jei atsižvelgiant į lokalės ID reikšmę, nurodytą naudojant vykdymo parametrus (paaiškinta toliau), norite importuoti lokalizuotą konfigūracijos duomenų failą, o ne numatytąjį (nurodytas crmmigdataimportfile).Spustelėkite Įrašyti viską.
Toliau pateikiamas pavyzdinio failo
ImportConfig.xmlturinys.<?xml version="1.0" encoding="utf-16"?> <configdatastorage xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="https://www.w3.org/2001/XMLSchema" installsampledata="true" waitforsampledatatoinstall="true" agentdesktopzipfile="" agentdesktopexename="" crmmigdataimportfile="data_1033.zip"> <solutions> <configsolutionfile solutionpackagefilename="SampleSolutionOne_1_0_managed.zip" overwriteunmanagedcustomizations="false" publishworkflowsandactivateplugins="true"/> <configsolutionfile solutionpackagefilename="SampleSolutionTwo_1_0_managed.zip" overwriteunmanagedcustomizations="false" publishworkflowsandactivateplugins="true"/> <configsolutionfile solutionpackagefilename="SampleSolutionThree_1_0_managed.zip" /> </solutions> <filestoimport> <configimportfile filename="SampleOption.csv" filetype="CSV" associatedmap="SampleOption" importtoentity="sample_option" datadelimiter="" fielddelimiter="comma" enableduplicatedetection="true" isfirstrowheader="true" isrecordownerateam="false" owneruser="" waitforimporttocomplete="false"/> <configimportfile filename="File.zip" filetype="ZIP" associatedmap="FileMapName" importtoentity="FileEntity" datadelimiter="" fielddelimiter="comma" enableduplicatedetection="true" isfirstrowheader="true" isrecordownerateam="false" owneruser="" waitforimporttocomplete="true"/> <zipimportdetails> <zipimportdetail filename="subfile1.csv" filetype="csv" importtoentity="account" /> <zipimportdetail filename="subfile2.csv" filetype="csv" importtoentity="contact" /> </zipimportdetails> </filestoimport> <filesmapstoimport> <configimportmapfile filename="SampleOption.xml" /> </filesmapstoimport> <cmtdatafiles> <cmtdatafile filename="data_1033.zip" lcid="1033" usermapfilename="UserMap.xml" /> <cmtdatafile filename="data_1041.zip" lcid="1041" usermapfilename="" /> </cmtdatafiles> </configdatastorage>
5 veiksmas. Nurodykite pasirinktinį paketo kodą
Srityje Sprendimų naršyklė dukart spustelėkite PackageTemplate.cs failą, esantį šaknyje, kad jį redaguotumėte.
PackageTemplate.cs faile galite:
Įveskite pasirinktinį kodą, kuris bus vykdomas, kai paketas inicijuojamas
InitializeCustomExtensionpakeitimo metodo apibrėžime.Šį metodą galima naudoti, kad paleidžiant paketą vartotojai galėtų naudoti vykdymo parametrus. Būdami kūrėju, naudodami RuntimeSettings ypatybę į paketą galite įtraukti bet kurio vykdymo parametrą palaikymą, jei tik yra kodas, apdorojantis jį atsižvelgiant į vartotojo įvestį.
Pavyzdžiui, šis pavyzdinis kodas įjungia paketo vykdymo laiko parametrą, vadinamą
SkipChecksir turintį dvi galimas reikšmes: teisinga arba klaidinga. Pavyzdinis kodas tikrina, ar vartotojas vykdydamas „Package Deployer“ nurodė vykdymo parametrus (naudodamas komandų eilutę arba „“PowerShell“), o tada atitinkamai apdoroja informaciją. Jei vykdydamas paketą vartotojas nenurodė jokio vykdymo parametro, RuntimeSettings ypatybės reikšmė bus neapibrėžta.public override void InitializeCustomExtension() { // Do nothing. // Validate the state of the runtime settings object. if (RuntimeSettings != null) { PackageLog.Log(string.Format("Runtime Settings populated. Count = {0}", RuntimeSettings.Count)); foreach (var setting in RuntimeSettings) { PackageLog.Log(string.Format("Key={0} | Value={1}", setting.Key, setting.Value.ToString())); } // Check to see if skip checks is present. if ( RuntimeSettings.ContainsKey("SkipChecks") ) { bool bSkipChecks = false; if (bool.TryParse((string)RuntimeSettings["SkipChecks"], out bSkipChecks)) OverrideDataImportSafetyChecks = bSkipChecks; } } else PackageLog.Log("Runtime Settings not populated"); }Tai leidžia administratoriui naudoti komandų eilutę arba Import-CrmPackage „cmdlet“, kad nurodytų, ar paleidžiant „Package Deployer“ įrankį paketo importavimui praleisti saugos patikras. Daugiau informacijos: Paketų diegimas naudojant „Package Deployer“ ir „Windows PowerShell“
Įveskite pasirinktinį kodą, kuris bus vykdomas prieš importuojant sprendimus
PreSolutionImportperrašymo metodo apibrėžime, kad nustatytumėte, ar palikti ar perrašyti tinkinimus atnaujinant nurodytą sprendimą paskirties „Dataverse“ egzemplioriuje ir ar automatiškai aktyvuoti priedus ir darbo eigas.Norėdami atlikti duomenų transformaciją arba atnaujinti sprendimo versiją, naudokite
RunSolutionUpgradeMigrationStepperrašymo metodo apibrėžimą. Šis metodas kviečiamas tik tuo atveju, jei importuojamas sprendimas jau yra paskirties „Dataverse“ egzemplioriuje.Ši funkcija laukia šių parametrų:
Parametras Aprašas solutionNameSprendimo pavadinimas oldVersionSeno sprendimo versijos numeris newVersionNaujo sprendimo versijos numeris oldSolutionIdSeno sprendimo GUID. newSolutionIdNaujo sprendimo GUID. Įveskite pasirinktinį kodą, kuris bus vykdomas prieš baigiant sprendimo importavimą
BeforeImportStagemetodo pakeitimo apibrėžime. Prieš baigiant sprendimo importavimą, importuojami pavyzdiniai duomenys ir tam tikri paprastieji sprendimų failai, nurodytiImportConfig.xmlfaile.Naudodami
OverrideConfigurationDataFileLanguageperrašymo metodo apibrėžimą, perrašykite šiuo metu pasirinktą konfigūravimo duomenų importavimo kalbą. Jei į paketą įtrauktų galimų kalbų sąraše nėra nurodytos kalbos nurodyto lokalės ID (LCID), importuojamas numatytasis duomenų failas.Galimas konfigūravimo duomenų kalbas galite nurodyti
<cmtdatafiles>mazge, esančiameImportConfig.xmlfaile. Numatytasis konfigūravimo duomenų importavimo failas nurodomascrmmigdataimportfileatribute, esančiameImportConfig.xmlfaile.Gali būti naudinga praleisti duomenų tikrinimą (OverrideDataImportSafetyChecks = true), jei esate tikri, kad paskirties „Dataverse“ egzemplioriuje nėra jokių duomenų.
Įveskite pasirinktinį kodą, kuris bus vykdomas baigus sprendimo importavimą
AfterPrimaryImportmetodo pakeitimo apibrėžime. Likę paprastieji failai, kurie nebuvo importuoti anksčiau, prieš pradedant sprendimo importavimą, yra importuojami dabar.Pakeiskite numatytąjį paketo aplanko pavadinimą iš PkgFolder į norimą paketo pavadinimą. Norėdami tai atlikti, pervadinkite
PkgFolderaplanką srityje Sprendimų naršyklė, o tada redaguokite grąžinamą reikšmę ypatybėjeGetImportPackageDataFolderName.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"; } }Pakeiskite paketo pavadinimą redaguodami grąžinamą reikšmę ypatybėje
GetNameOfImport.public override string GetNameOfImport(bool plural) { return "Package Short Name"; }Tai yra paketo pavadinimas, kuris bus rodomas „Dynamics 365 Package Deployer“ vedlio paketo pasirinkimo puslapyje.
Pakeiskite paketo aprašymą redaguodami grąžinamą reikšmę ypatybėje
GetImportPackageDescriptionText.public override string GetImportPackageDescriptionText { get { return "Package Description"; } }Tai yra paketo aprašymas, kuris bus rodomas kartu su paketo pavadinimu „Package Deployer“ vedlio paketo pasirinkimo puslapyje.
Pakeiskite paketo ilgąjį pavadinimą redaguodami grąžinamą reikšmę ypatybėje
GetLongNameOfImport.public override string GetLongNameOfImport { get { return "Package Long Name"; } }Paketo ilgasis pavadinimas bus rodomas kitame puslapyje, kai pasirinksite diegiamą paketą.
Be to, darbui su paketu galima naudoti šią funkciją ir kintamuosius:
Vardas ir pavardė Tipas Aprašas CreateProgressItem(String) Funkcija Naudojama kurti naują eigos elementą vartotojo sąsajoje (UI). RaiseUpdateEvent(String, ProgressPanelItemStatus) Funkcija Naudojama atnaujini eigai, sukurtai pateikus CreateProgressItem(String) kvietimą.
ProgressPanelItemStatus yra sąrašas su šiomis reikšmėmis:
Darbas = 0
Atlikta = 1
Nepavyko = 2
Įspėjimas = 3
Nežinoma = 4RaiseFailEvent(String, Exception) Funkcija Naudojama nutraukti esamos būsenos importavimui su klaidos pranešimu. IsRoleAssoicatedWithTeam(Guid, Guid) Funkcija Naudojama nustatyti, ar vaidmuo yra susijęs su nurodyta komanda. IsWorkflowActive(Guid) Funkcija Naudojama nustatyti, ar nurodyta darbo eiga yra aktyvi. PackageLog Klasės rodyklė Tai yra rodyklė į paketo inicijuotą registracijos sąsają. Šią sąsają naudoja paketas pranešimų ir klaidų registracijai paketo žurnalo faile. RootControlDispatcher Ypatybė Tai yra skirstymo sąsaja, naudojama kontroliuoti nuosavai UI paketo diegimo metu. Naudokite šią sąsają išdėstyti bet kuriems UI elementams arba komandoms. Prieš naudojant, svarbu patikrinti, ar nėra neapibrėžtų šio kintamojo reikšmių, nes jis gali turėti arba gali neturėti reikšmės. CrmSvc Ypatybė Tai yra rodyklė į CrmServiceClient klasę, kuri leidžia paketui kreiptis į „Dynamics 365“ iš paketo. Naudokite ją vykdyti SDK metodams ir kitiems veiksmams perrašytuose metoduose. DataImportBypass Ypatybė Naudokite norėdami nurodyti, ar „Dynamics 365 Package Deployer“ turi praleisti visas duomenų importavimo operacijas, pvz., „Dataverse“ pavyzdinių duomenų, paprastųjų failų duomenų ir duomenų, eksportuotų iš konfigūravimo perkėlimo įrankio, importavimo operacijas. Nurodykite „teisinga“ arba „klaidinga“. Numatytoji reikšmė yra false.OverrideDataImportSafetyChecks Ypatybė Naudokite šią funkciją norėdami nurodyti, ar „Dynamics 365 Package Deployer“ ignoruos kai kuriuos saugos patikrinimus, taip siekiant pagerinti importavimo efektyvumą. Nurodykite truearbafalse. Numatytoji reikšmė yrafalse.
Reikšmętrueturite nustatyti tik tada, jei paskirties „Dataverse“ egzemplioriuje nėra jokių duomenų.Įrašykite projektą, o po to jį kurkite (Kurti > Kurti sprendimą), kad sukurtumėte paketą. Jūsų paketą sudaro šie failai, esantys aplanke <Project> \Bin\Debug
Aplankas <PackageName>: aplanko pavadinimas yra toks pat kaip ir jūsų paketo aplanko pavadinimo, kurį pakeitėte atlikdami šio skyriaus 2.g veiksmą (5 veiksmas. Nurodykite pasirinktinį paketo kodą). Šiame aplanke yra visi sprendimai, konfigūravimo duomenys, paprastieji failai ir jūsų paketo turinys.
<PackageName>.dll: rinkinyje yra pasirinktinis jūsų paketo kodas. Pagal numatytuosius nustatymus, rinkinio pavadinimas yra toks pats, kaip jūsų Visual Studio projekto pavadinimas.
Kitas veiksmas – paketo diegimas.
Paketo diegimas
Sukūrę paketą, jį galite įdiegti „Dataverse“ egzemplioriuje naudodami „Package Deployer“ įrankį arba „Windows PowerShell“.
„Package Deployer“ įrankis platinamas kaip Microsoft.CrmSdk.XrmTooling.PackageDeployment NuGet paketo dalis. Norėdami atsisiųsti „Package Deployer“ įrankį, žr. Įrankių atsisiuntimas iš „NuGet“.
Išsamios informacijos žr. Paketų diegimas naudojant „Package Deployer“ arba „Windows PowerShell“.
Geriausia paketų kūrimo ir diegimo praktika
Kurdami paketus, kūrėjai turi užtikrinti, kad paketų rinkiniai būtų pasirašyti.
Diegiant paketus, „Dataverse“ administratoriai turi:
- Reikalauti pasirašyto paketo rinkinio, kad jūs galėtumėte atsekti rinkinio šaltinį.
- Prieš paketą vykdant gamybos egzemplioriuje, jį testuoti priešgamybiniame egzemplioriuje (geriausia, kad tai būtų gamybos egzemplioriaus kopija).
- Prieš diegiant paketą, sukurti gamybos egzemplioriaus atsarginę kopiją.
Taip pat žr.
Pastaba
Ar galite mums pranešti apie dokumentacijos kalbos nuostatas? Atlikite trumpą apklausą. (atkreipkite dėmesį, kad ši apklausa yra anglų kalba)
Apklausą atliksite per maždaug septynias minutes. Asmeniniai duomenys nėra renkami (privatumo nuostatos).
Atsiliepimai
Pateikti ir peržiūrėti atsiliepimą, skirtą