Lahendusepakkija tööriist
SolutionPackager on tööriist, mis suudab tihendatud lahendusfaili pöörduvalt lagundada Microsoft Dataverse mitmeks XML-failiks ja muudeks failideks. Seejärel saate neid faile hõlpsasti hallata, kasutades allika juhtimissüsteemi. Järgmistes jaotistes selgitatakse, kuidas tööriista käitada ja kuidas tööriista hallatavate ja mittehallatavate lahendustega kasutada.
Oluline
Tööriist SolutionPackager ei ole enam soovitatav viis lahenduste lahtipakkimiseks ja pakkimiseks. SolutionPackageri tööriista võimalused on lisatud CLI-sse Power Platform . Käsul pac solution
on mitmeid tegusõnu, sealhulgas unpack
, pack
,, clone
ja sync
mis sisaldavad samu SolutionPackageri tööriista aluseks olevaid võimalusi.
Lahendusepakkija tööriista otsimine
SolutionPackageri tööriista levitatakse osana Microsoft. CrmSdk.CoreTools NuGet pakett. Programmi installimiseks toimige järgmiselt.
- Laadige pakett alla NuGet .
- Nimetage paketi failinime laiend .nupkg-st ümber .zip-ks.
- Ekstraktige tihendatud (zip) faili sisu.
Leidke käivitatav SolutionPackager.exe kaustast <ekstraktitud kausta nimi>/sisu/bin/coretools. Käivitage programm coretoolsi kaustast või lisage see kaust oma PATH-i.
Lahendusepakkija käsurea argumendid
Lahendusepakkija on käsurea tööriist, mida saab kasutada järgmises tabelis määratletud parameetritega.
Argument | Kirjeldus |
---|---|
/action: {Extract|Pakett} | Nõutav. Toiming sooritamiseks. Toiming võib olla lahenduse ZIP-faili ekstraktimine kausta või kausta pakkimine ZIP-failiks. |
/zipfile: <failitee> | Nõutav. Lahenduse ZIP-faili tee ja nimi. Ekstraheerimisel peab fail olema olemas ja loetav. Pakkimisel fail asendatakse. |
/folder: <kausta tee> | Nõutav. Kausta tee. Lahti pakkimisel luuakse see kaust ja täidetakse komponendi failidega. Pakkimisel peab see kaust juba olemas olema ja sisaldama varem lahti pakitud komponendi faile. |
/packagetype: {Unmanaged|Managed|Mõlemad} | Valikuline. Töödeldava paketi tüüp. Vaikeväärtus on Mittehallatav. See argument võidakse enamikul juhtudel välja jätta, kuna paketi tüüpi saab lugeda ZIP-faili või komponendi failide seest. Kui lahti pakkimine ja väärtus Mõlemad on määratud, peavad hallatava ja mittehallatava lahenduse ZIP-failid olema olemas ja neid töödeldakse ühte kausta. Kui pakkimine ja Mõlemad on määratud, hallatakse ja ei hallata lahendust .zip failid toodetakse ühest kaustast. Lisateavet leiate selle artikli allpool olevast jaotisest hallatavate ja mittehallatavate lahendustega töötamise kohta. |
/allowWrite:{Yes|Ei} | Valikuline. Vaikeväärtus on Jah. Seda argumenti kasutatakse ainult lahti pakkimisel. Kui /allowWrite:No on määratud, sooritab tööriist kõik toimingud, kuid ei saa faile kirjutada ega kustutada. Lahtipakkimise toimingut saab ohutult hinnata ilma olemasolevaid faile üle kirjutamata või kustutamata. |
/allowDelete:{Yes|No|Küsi} | Valikuline. Vaikeväärtus on Küsi. Seda argumenti kasutatakse ainult lahti pakkimisel. Kui määratud on /allowDelete:Jah, kustutatakse automaatselt kõik parameetriga /folder määratud kaustas olevad failid, mida ei eeldata. Kui /allowDelete:No on määratud, siis kustutamisi ei toimu. Kui /allowDelete:Küsi on määratud, palutakse kasutajal konsooli kaudu lubada või keelata kõik kustutustoimingud. Kui /allowWrite:No on määratud, siis kustutamisi ei toimu, isegi kui /allowDelete:Yes on samuti määratud. |
/clobber | Valikuline. Seda argumenti kasutatakse ainult lahti pakkimisel. Kui/clobber on määratud, kirjutatakse kirjutuskaitstud atribuudiga failid üle või kustutatakse. Kui seda pole määratud, siis kirjutuskaitstud atribuudiga faile üle ei kirjutata ega kustutata. |
/errorlevel: {Off|Error|Warning|Info|Verbose} | Valikuline. Vaikeväärtus on Teave. See argument näitab teabe väljundisse logimise taset. |
/map: <failitee> | Valikuline. Faili vastenduse direktiive sisaldava XML-faili tee ja nimi. Lahti pakkimisel loetakse tavaliselt parameetriga /kaust määratud kaustast loetavaid faile erinevatest asukohtadest, nagu on määratud vastendusfailis. Pakkimistoimingu ajal ei kirjutata direktiividele vastavaid faile. |
/nologo | Valikuline. Keelake bänner käitusajal. |
/log: <failitee> | Valikuline. Logifaili tee ja nimi. Kui fail on juba olemas, lisatakse failile uus logimisteave. |
@ <failitee> | Valikuline. Tööriista käsurea argumente sisaldava faili tee ja nimi. |
/sourceLoc: <string> | Valikuline. See argument loob malli ressursifaili ja kehtib ainult lahti pakkimisel. Võimalikud väärtused on auto või LCID/ISO kood selle keele jaoks, mida soovite eksportida. Selle argumendi kasutamisel pakitakse antud lokaadi stringiressursid lahti neutraalse RESX-failina. Kui on määratud auto või ainult lüliti pikk või lühike kuju, kasutatakse aluslokaati või lahendust. Saate kasutada käsu lühivormi: /src. |
/lokaliseeri | Valikuline. Saate kõik stringiressursid RESX-failideks lahti pakkida või ühendada. Saate kasutada käsu lühivormi: /loc. Lokaliseerimissuvand toetab .resx failide ühiskomponente. Lisateave:RESX-i veebiressursside kasutamine |
Kasutage käsu argumenti /kaart
Järgnevalt kirjeldatakse argumendi /kaart kasutamist tööriistas Lahendusepakkija.
Automatiseeritud koostesüsteemis loodud faile (nt. xap Silverlighti failid ja lisandmoodulite komplektid) ei kontrollita tavaliselt lähtekeskkonna juhtimises. Veebiressursid võivad juba olla allika juhtimises asukohtades, mis ei ühildu otseselt tööriistaga SolutionPackager. Parameetri /kaart kaasamisega saab Lahendusepakkija tööriista suunata selliseid faile lugema ja pakkima alternatiivsetest asukohtadest, mitte kaustast Lahti pakkimine, nagu seda tavaliselt tehakse. Parameeter /map peab määrama vastendamine direktiive sisaldava XML-faili nime ja tee. Need direktiivid juhendavad SolutionPackagerit sobitama faile nende nime ja tee järgi ning märkima alternatiivse asukoha vastendatud faili leidmiseks. Järgnev teave kehtib kõigi direktiivide kohta võrdselt.
Loetletud võib olla mitu direktiivi, sealhulgas identsetele failidele vastavad direktiivid. Faili alguses loetletud direktiivid on ülimuslikud hiljem loetletud direktiivide suhtes.
Kui fail on vastendatud mis tahes direktiivile, tuleb see leida vähemalt ühest alternatiivsest asukohast. Kui sobivaid alternatiive ei leita, väljastab SolutionPackager tõrke.
Kausta ja faili teed võivad olla absoluutsed või suhtelised. Suhtelisi teid hinnatakse alati parameetriga /kaust määratud kaustast.
Keskkonnamuutujaid saab määrata süntaksi %variable% abil.
Kausta metamärki "**" võib kasutada tähenduses "mis tahes alamkaustas". Seda saab kasutada ainult tee viimase osana, näiteks: "c:\folderA\**".
Failinime metamärke võib kasutada ainult vormidena „*.ext” või „*.*”. Muud mustrit ei toetata.
Siin kirjeldatakse kolme tüüpi direktiivide vastendusi ja näidet, mis selgitab, kuidas neid kasutada.
Kausta vastendamine
Järgmine teave annab üksikasjalikku teavet kausta vastendamine kohta.
XML-vorming
<Folder map="folderA" to="folderB" />
Kirjeldus
Failiteed, mis vastavad kaustale A, lülitatakse kausta B.
Alamkaustade hierarhia peab täpselt kattuma.
Kausta metamärke ei toetata.
Faili nimesid ei saa määrata.
Näited
<Folder map="folderA" to="folderB" /> <Folder map="folderA\folderB" to="..\..\folderC\" /> <Folder map="WebResources\subFolder" to="%base%\WebResources" />
Faili sihtkoht faili vastendamiseks
Järgmine teave annab lisateavet failidevaheliste vastendamine kohta.
XML-vorming
<FileToFile map="path\filename.ext" to="path\filename.ext" />
Kirjeldus
Kõiki parameetrile map
vastavaid faile loetakse parameetris to
määratud nimest ja teest.
Parameetri map
jaoks:
Faili nimi tuleb määrata. Tee on valikuline. Kui teed pole määratud, võidakse vastendada mis tahes kausta failid.
Failinime metamärke ei toetata.
Kausta metamärki toetatakse.
Parameetri
to
jaoks:Faili nimi ja tee tuleb määrata.
Faili nimi võib erineda parameetri
map
nimest.Failinime metamärke ei toetata.
Kausta metamärki toetatakse.
Näited
<FileToFile map="assembly.dll" to="c:\path\folder\assembly.dll" />
<FileToFile map="PluginAssemblies\**\this.dll" to="..\..\Plugins\**\that.dll" />
<FileToFile map="Webresrouces\ardvark.jpg" to="%SRCBASE%\CrmPackage\WebResources\JPG format\aardvark.jpg" />
<FileToFile
map="pluginpackages\cr886_PluginPackageTest\package\cr886_PluginPackageTest.nupkg"
to="myplg\bin\Debug\myplg.1.0.0.nupkg" />
Ülaltoodud NuGet paketi näites ei kirjutata cr886_PluginPackageTest.nupkg üle, kui fail on määratud asukohas juba olemas.
Fail tee vastendamiseks
Järgnevalt antakse üksikasjalikku teavet fail-teeks vastendamise kohta.
XML-vorming
<FileToPath map="path\filename.ext" to="path" />
Kirjeldus
Kõiki parameetrile map
vastavaid faile loetakse parameetris to
määratud tee järgi.
Parameetri map
jaoks:
Faili nimi tuleb määrata. Tee on valikuline. Kui teed pole määratud, võidakse vastendada mis tahes kausta failid.
Faili nime metamärke toetatakse.
Kausta metamärki toetatakse.
Parameetri to
jaoks:
Tee tuleb määrata.
Kausta metamärki toetatakse.
Faili nime ei tohi määrata.
Näited
<FileToPath map="assembly.dll" to="c:\path\folder" />
<FileToPath map="PluginAssemblies\**\this.dll" to="..\..\Plugins\bin\**" />
<FileToPath map="*.jpg" to="%SRCBASE%\CrmPackage\WebResources\JPG format\" />
<FileToPath map="*.*" to="..\..\%ARCH%\%TYPE%\drop" />
Vastendamise näide
Järgmises XML-koodi näites kuvatakse täielik vastendusfail, mis võimaldab Lahendusepakkija tööriistal lugeda kõiki veebiressursse ja kahte vaikimisi loodud komplekti arendustööriistakomplekti projektist nimega CRMDevTookitSample.
<?xml version="1.0" encoding="utf-8"?>
<Mapping>
<!-- Match specific named files to an alternate folder -->
<FileToFile map="CRMDevTookitSamplePlugins.dll" to="..\..\Plugins\bin\**\CRMDevTookitSample.plugins.dll" />
<FileToFile map="CRMDevTookitSampleWorkflow.dll" to="..\..\Workflow\bin\**\CRMDevTookitSample.Workflow.dll" />
<!-- Match any file in and under WebResources to an alternate set of subfolders -->
<FileToPath map="WebResources\*.*" to="..\..\CrmPackage\WebResources\**" />
<FileToPath map="WebResources\**\*.*" to="..\..\CrmPackage\WebResources\**" />
</Mapping>
Hallatavad ja mittehallatavad lahendused
Dataverse'i tihendatud lahenduse (.zip) faili saab eksportida ühte kahest tüübist, nagu siin näidatud.
hallatav lahendus
Lõpetatud lahendus, mis on organisatsiooni importimiseks valmis. Pärast importimist ei saa komponente lisada ega eemaldada, kuigi soovi korral saab neid edaspidi kohandada. See on soovitatav, kui lahenduse arendamine on lõpule jõudnud.
Mittehallatav lahendus
Avatud lahendus, mis ei piira lisamise, eemaldamise ega muutmise võimalusi. See on lahenduse arendamisel soovitatav.
Tihendatud lahendusefaili vorming on selle tüübi põhjal erinev, kas hallatav või mittehallatav. Lahendusepakkija saab töödelda mõlemat tüüpi tihendatud lahendusefaile. Kuid tööriist ei saa teisendada ühte tüüpi teiseks. Ainus viis lahendusefailide teisendamiseks muuks tüübiks (nt mittehallatavast tüübist hallatavaks tüübiks) on importida mittehallatav lahenduse ZIP-fail Dataverse'i serverisse ja seejärel eksportida lahendus hallatava lahendusena.
Lahendusepakkija saab töödelda mittehallatavaid ja hallatavaid lahenduse ZIP-faile kombineeritud komplektina parameetri /PaketiTüüp:Mõlemad kaudu. Selle toimingu sooritamiseks tuleb teie lahendus eksportida kaks korda iga tüübina, nimetades ZIP-failid järgmiselt.
Mittehallatav ZIP-fail: MisTahesNimi.zip | Hallatav ZIP-fail: MisTahesNimi_hallatav.zip |
Tööriist eeldab, et hallatav ZIP-fail on mittehallatava failiga samas kaustas ja pakib mõlemad failid lahti ühte kausta, säilitades hallatavate ja mittehallatavate komponentide erinevused.
Kui lahendus on pakitud lahti nii mittehallatava kui ka hallatava lahendusena, saab sellest ühest kaustast pakkida mõlemad tüübid või iga tüübi eraldi, kasutades parameetrit /PaketiTüüp, et määrata, millist tüüpi luua. Mõlema faili määramisel toodetakse kaks .zip faili, kasutades ülaltoodud nimereeglit. Kui kahest hallatavast ja mittehallatavast kaustast pakkimisel puudub parameeter /PaketiTüüp, luuakse vaikimisi üks mittehallatav ZIP-fail.
Tõrkeotsing
Kui kasutate Lahendusepakkija loodud ressursifailide redigeerimiseks Visual Studiot, võite saada uuesti pakkimisel järgmise või sarnase teate: “Failed to determine version id of the resource file <filename>.resx the resource file must be exported from the solutionpackager.exe tool in order to be used as part of the pack process.”
(Ressursifaili
Lahendus
Avage ressursifail oma lemmiktekstiredaktoris ning otsige üles ja värskendage järgmisi silte:
<data name="Source LCID" xml:space="preserve"> <data name="Source file" xml:space="preserve"> <data name="Source package type" xml:space="preserve"> <data name="SolutionPackager Version" mimetype="application/x-microsoft.net.object.binary.base64">
Muutke sõlme nimi
<data>
nimeks<metadata>
.Näiteks see string:
<data name="Source LCID" xml:space="preserve"> <value>1033</value> </data>
Muudetud:
<metadata name="Source LCID" xml:space="preserve"> <value>1033</value> </metadata>
See võimaldab Lahenduspakkijal ressursifaili lugeda ja importida. Seda probleemi jälgitakse ainult Visual Studio ressursi redaktori kasutamisel.
Vt ka
Allika juhtimise kasutamine koos lahendusefailidega
Lahenduse mõisted