Del via


Brug af værktøjet SolutionPackager til at komprimere og udtrække en løsningsfil

 

Udgivet: november 2016

Gælder for: Dynamics CRM 2015

SolutionPackager er et værktøj, der kan dekryptere en Microsoft Dynamics 365- komprimeret løsningsfil til flere XML-filer og andre filer, så filerne nemt kan administreres af et kildekontrolsystem. De følgende afsnit viser dig, hvordan du kører værktøjet, og hvordan du bruger værktøjet med administrerede og ikke-administrerede løsninger.

Dette emne indeholder

Hvor du kan finde værktøjet SolutionPackager

SolutionPackager-kommandolinjeargumenter

Brug kommandoargumentet /map

  • Mappetilknytning

  • Fil til fil-tilknytning

  • Fil til sti-tilknytning

  • Eksempel på tilknytning

Administrerede og ikke-administrerede løsninger

Hvor du kan finde værktøjet SolutionPackager

Værktøjet SolutionPackager.exe findes i mappen Bin i Microsoft Dynamics CRM SDK-download.Hent SDK-pakken til Microsoft Dynamics CRM.

SolutionPackager-kommandolinjeargumenter

SolutionPackager er et kommandolinjeværktøj, der kan startes med de parametre, der er beskrevet i følgende tabel.

Argument

Beskrivelse

/action: {Extract|Pack}

Krævet. Handlingen, der skal udføres. Handlingen kan være enten at udtrække en løsnings .zip-fil til en mappe eller at pakke en mappe i en .zip-fil.

/zipfile: <file path>

Krævet. Stien til og navnet på en løsnings .zip-fil. Ved udpakning skal filen findes, og der skal læses fra den. Ved pakning erstattes filen.

/folder: <folder path>

Krævet. Stien til en mappe. Ved udpakning oprettes denne mappe og udfyldes med komponentfiler. Ved pakning skal denne mappe allerede findes og indeholde tidligere udpakkede komponentfiler.

/packagetype: {Unmanaged|Managed|Both}

Valgfrit. Typen af pakke, der skal behandles. Standardværdien er Unmanaged (Ikke administreret). Argumentet kan udelades i de fleste tilfælde, fordi pakketypen kan læses inde fra .zip-filer eller komponentfiler. Ved udpakning, og Both er angivet, skal administrerede og ikke-administrerede løsningers .zip-filer findes og behandles i en enkelt mappe. Ved pakning, og Both er angivet, bliver administrerede og ikke-administrerede løsningers .zip-filer produceret fra én mappe. Du kan finde flere oplysninger i afsnittet om at arbejde med administrerede og ikke-administrerede løsninger senere i dette emne.

/allowWrite:{Yes|No}

Valgfrit. Standardværdien er Yes. Dette argument bruges kun under en udtrækning. Når /allowWrite:No er angivet, udfører værktøjet alle handlinger, men forhindres i at skrive eller slette filer. Udtrækningshandlingen kan vurderes sikkert uden at overskrive eller slette nogen eksisterende filer.

/allowDelete:{Yes|No|Prompt}

Valgfrit. Standardværdien er Prompt. Dette argument bruges kun under en udtrækning. Når /allowDelete:Yes er angivet, bliver alle filer i den mappe, der er angivet af /folder-parameteren, der ikke forventes, automatisk slettet. Når /allowDelete:No er angivet, foretages ingen sletning. Når /allowDelete:Prompt er angivet, briver brugeren bedt om via konsollen at tillade eller nægte alle slettehandlinger. Bemærk, at hvis /allowWrite:No er angivet, opstår der ingen sletning, selvom /allowDelete:Yes også er angivet.

/clobber

Valgfrit. Dette argument bruges kun under en udtrækning. Når /clobber er angivet, bliver filer med skrivebeskyttet attribut overskrevet eller slettet. Når den ikke er angivet, bliver filer med skrivebeskyttet attribut ikke overskrevet eller slettet.

/errorlevel: {Off|Error|Warning|Info|Verbose}

Valgfrit. Standardværdien er Info. Dette argument angiver niveauet af logføringsoplysninger til output.

/map: <file path>

Valgfrit. Stien til og navnet på en .xml-fil, der indeholder filetilknytningsdirektiver. Når det bruges under en udtrækning, bliver filer normalt læst inde i mappen, der er angivet af /folder-parameteren, fra alternative placeringer, som er angivet i tilknytningsfilen. Filer, der opfylder direktiverne, bliver ikke skrevet under en pakkehandling.

/nologo

Valgfrit. Undertryk banner på kørselstidspunktet.

/log: <file path>

Valgfrit. En sti og et navn til en logfil. Hvis filen allerede findes, føjes der nye oplysninger om logføring til filen.

@ <file path>

Valgfrit. En sti og et navn til en fil, der indeholder kommandolinjeargumenter til værktøjet.

/sourceLoc: <streng>

Valgfrit. Dette argument genererer en skabelonressourcefil og er kun gyldig ved udtrækning.

Mulige værdier er auto eller en LCID/ISO-kode for det sprog, du vil eksportere. Når du bruger dette argument, udtrækkes strengressourcer fra den angivne landestandard som en neutral .resx-fil. Hvis auto eller blot den lange eller korte form af parameteren er angivet, bruges den grundlæggende landestandard eller løsningen. Du kan bruge den korte form af kommandoen: /src.

/localize

Valgfrit. Udtræk eller flet alle strengressourcer til .resx-filer. Du kan bruge den korte form af kommandoen: /loc.

Brug kommandoargumentet /map

Følgende oplysninger vedrører brug af /map-argumentet til SolutionPackager-værktøjet.

Filer, der er indbygget i et automatiseret build-system, f.eks. .xapSilverlight-filer og plug-in-assemblies, bliver typisk ikke tjekket ind i kildekontrolelementet. Webressourcer kan allerede være til stede i versionskontrolelementet på steder, ikke der er direkte kompatible med værktøjet SolutionPackager. Ved at medtage /map-parameteren kan SolutionPackager-værktøjet dirigeres til at læse og pakke disse filer fra alternative placeringer og ikke fra Extract-mappen, som det normalt ville gøres. Parameteren /map skal angive navnet på og stien til en XML-fil, der indeholder tilknytning af direktiver, som får SolutionPackager til at matche filer ved hjælp af deres navn og sti, og angive den alternative placering for at finde den matchede fil. Følgende oplysninger gælder for alle direktiver ligeligt.

  • Flere direktiver kan angives, herunder dem, der matcher identiske filer. Direktiverne, der står tidligt i filen, går forud for dem, der er angivet senere.

  • Hvis en fil er matchet til ethvert direktiv, skal den findes i mindst én alternativ placering. Hvis der ikke findes nogen tilsvarende alternativer, vil SolutionPackager udsende en fejl.

  • Mappe- og filstier kan være absolutte eller relative. Relative stier er altid fortolket ud fra den mappe, der er angivet af /folder-parameteren.

  • Miljøvariabler kan angives ved hjælp af en %variable%-syntaks.

  • Et mappejokertegn "**" kan bruges til at betyde "i enhver undermappe". Det kan kun bruges som den sidste del af en sti, for eksempel: "c:\folderA\**".

  • Filnavnes jokertegn kan kun anvendes i formaterne “*.ext” eller "*. *". Ingen andre mønstre understøttes.

De tre typer direktivtilknytninger er beskrevet her, sammen med et eksempel, der viser, hvordan de bruges.

Mappetilknytning

Følgende tabel indeholder detaljerede oplysninger om mappetilknytning.

XML-format

<Folder map="folderA" to="folderB" />

Beskrivelse

Filstier, der svarer til "folderA", vil blive ændret til "folderB".

  • Hierarkiet af undermapper under hver mappe skal være identisk.

  • Mappejokertegn understøttes ikke.

  • Ingen filnavne kan angives.

Eksempler

<Folder map="folderA" to="folderB" />
<Folder map="folderA\folderB" to="..\..\folderC\" />
<Folder map="WebResources\subFolder" to="%base%\WebResources" />

Fil til fil-tilknytning

Følgende tabel indeholder detaljerede oplysninger om fil til fil-tilknytning.

XML-format

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

Beskrivelse

Enhver fil, der svarer til map-parameteren, læses fra navnet og stien, der er angivet i to-parameteren.

For map-parameteren:

  • Der skal angives et filnavn. Stien er valgfri. Hvis ingen sti er angivet, kan filer fra enhver mappe matches.

  • Jokertegn understøttes ikke i filnavne.

  • Mappejokertegn understøttes.

For to-parameteren:

  • Der skal angives et filnavn og en sti.

  • Filnavnet kan være et andet end navnet i map-parameteren.

  • Jokertegn understøttes ikke i filnavne.

  • Mappejokertegn understøttes.

Eksempler

<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" />

Fil til sti-tilknytning

Følgende tabel indeholder detaljerede oplysninger om fil til sti-tilknytning.

XML-format

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

Beskrivelse

Enhver fil, der svarer til map-parameteren, læses fra navnet og stien, der er angivet i to-parameteren.

For map-parameteren:

  • Der skal angives et filnavn. Stien er valgfri. Hvis ingen sti er angivet, kan filer fra enhver mappe matches.

  • Jokertegn understøttes i filnavne.

  • Mappejokertegn understøttes.

For to-parameteren:

  • Der skal angives en sti.

  • Mappejokertegn understøttes.

  • Der må ikke angives et filnavn.

Eksempler

<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" />

Eksempel på tilknytning

Følgende XML-kodeeksempel viser en komplet tilknytningsfil, som gør det muligt for SolutionPackager-værktøjet at læse enhver webressource og de to standardgenererede assemblies fra et Developer Toolkit-projekt med navnet 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>

Administrerede og ikke-administrerede løsninger

En Microsoft Dynamics 365-komprimeret løsnings (.zip)-fil kan eksporteres i en af to typer, som vist her.

  • Administreret løsning
    En færdig løsning, der er klar til at blive importeret til en organisation. Når den er importeret, kan komponenter tilføjes eller fjernes, selvom de kan vælge at tillade yderligere tilpasning. Dette anbefales, når udviklingen af løsningen er fuldført.
  • Ikke-administreret løsning
    En åben løsning uden begrænsninger for, hvad der kan tilføjes, fjernes eller ændres. Dette anbefales under udviklingen af en løsning.

Formatet af en komprimeret løsningsfil vil variere alt efter dens type, enten administreret eller ikke-administreret.SolutionPackager kan behandle komprimerede løsningsfiler af begge typer. Værktøjet kan dog ikke konvertere én type til en anden. Den eneste måde at konvertere løsningsfiler til en anden type, for eksempel fra ikke-administreret til administreret, er ved at importere den ikke-administrerede løsnings .zip-fil til en Microsoft Dynamics 365-server og derefter eksportere løsningen som en administreret løsning.

SolutionPackager kan behandle ikke-administrerede og administrerede løsningers .zip-filer som et samlet sæt via /PackageType:Both-parameteren. Hvis du vil udføre denne handling, er det nødvendigt at eksportere din løsning to gange som hver type ved at navngive .zip-filerne på følgende måde.

Ikke-administreret .zip-fil: AnyName.zip

Administreret .zip-fil: AnyName_managed.zip

Værktøjet antager, at den administrerede zip-fil findes i samme mappe som den ikke-administrerede fil og udtrækker begge filer til en enkelt mappe og bevarer forskellene, hvor både administrerede og ikke-administrerede komponenter findes.

Når en løsning er blevet pakket ud som både ikke-administreret og administreret, er det muligt fra den ene mappe at pakke dem begge eller hver for sig ved hjælp af /PackageType-parameteren for at angive, hvilken type der skal oprettes. Når du angiver dem begge, bliver to .zip-filer produceret ved hjælp af navngivningskonventionen ovenfor. Hvis /PackageType-parameteren mangler, når der pakkes fra en mappe med både administrerede og ikke-administrerede filer, er standarden at producere en enkelt, ikke-administreret .zip-fil.

Fejlfinding

Hvis du bruger Microsoft Visual Studio 2012 til at redigere ressourcefiler, der er oprettet af Solution Packager, kan du modtage en meddelelse, når du ompakker, lignende denne: "Kunne ikke bestemme versions-id'et for ressourcefilen <filnavn>.resx. Ressourcefilen skal eksporteres fra værktøjet solutionpackager.exe for at kunne bruges som en del af pakkeprocessen." Det sker, fordi Visual Studio erstatter ressourcefilens metadatakoder med datamærker.

Løsning

  1. Åbn ressourcefilen i din foretrukne teksteditor, og find og opdater følgende koder:

    <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. Ret navnet på noden fra <data> til <metadata>.

    For eksempel denne streng:

    <data name="Source LCID" xml:space="preserve">
      <value>1033</value>
    </data> 
    

    Skifter til:

    <metadata name="Source LCID" xml:space="preserve">
      <value>1033</value>
    </metadata>
    

På denne måde kan Solution Packager læse og importere ressourcefilen. Problemet er kun blevet observeret ved brug af Visual Studio-ressourceeditoren.

Se også

Løsningsværktøjer til teamudvikling
Bruge kildestyring med løsningsfiler
Solution component file reference (SolutionPackager)
Introduktion til løsninger

© 2017 Microsoft. Alle rettigheder forbeholdes. Ophavsret