Lahendusepakkija tööriist

SolutionPackager on tööriist, mis võib 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.

Lahendusepakkija tööriista otsimine

Lahendusepakkija tööriista levitatakse Microsoft.CrmSdk.CoreTools NuGeti paketina. Programmi installimiseks toimige järgmiselt.

  1. Laadige pakett alla NuGet .
  2. Nimetage paketi failinime laiend .nupkg-st ümber .zip-ks.
  3. Ekstraktige tihendatud (zip) faili sisu.

SolutionPackager.exe käivitatav leiate kaustast <extracted-folder-name>/contents/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 allpool selle teema hallatavate ja mittehallatavate lahendustega töötamise kohasest jaotisest.
/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 /allowDelete:Jah on määratud, kustutatakse automaatselt kõik kaustas olevad failid, mis on määratud parameetriga /kaust ning 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: Veebiressursi RESX 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 allika juhtimises juba olemas olla 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 vastenduskäske 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 kaustade kaardistamise 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 failidevahelise vastenduse kohta.

XML-vorming

<FileToFile map="path\filename.ext" to="path\filename.ext" />

Kirjeldus

Kõiki parameetrile map vastavaid faile loetakse parameetris to määratud nime ja 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 ei toetata.

  • Kausta metamärki toetatakse.

    Parameetri to jaoks:

  • Faili nimi ja tee tuleb määrata.

  • Faili nimi võib erineda parameetri map nimest.

  • Faili nime 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" /> 

Pange tähele, et ülaltoodud NuGet paketi näites ei kirjutata cr886_PluginPackageTest.nupkg üle, kui fail on juba määratud asukohas 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 sub-folders -->  
       <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 .resx versiooni ID määramine nurjus. Ressursifail tuleb solutionpackager.exe tööriistast eksportida, et seda saaks kasutada pakkimisprotsessi osana.). See juhtub seetõttu, et Visual Studio asendab ressursifaili metaandmete sildid andmete siltidega.

Lahendus

  1. 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">  
    
    
  2. 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

Lähtekeskkonna juhtimine lahendusfailidega

Lahenduse põhimõtted