Делите путем


Креирање пакета за алатку Package Deployer

Package Deployer омогућава администраторима примену пакета на инстанцама услуге Microsoft Dataverse. Package Deployer пакет може да се састоји од било чега следећег:

  • Једна или више датотека Dataverse решења.
  • Просте датотеке или извезена датотека конфигурације из алатке Миграција конфигурације. За више информација о алатки, погледајте чланак Премештање података о конфигурацији између инстанци и организација помоћу алатке Миграција конфигурације.
  • Прилагођени кôд који може да се покреће пре, током или после примене пакета у Dataverse инстанци.
  • HTML садржај карактеристичан за пакет који може бити приказан на почетку и на крају процеса примене. Овај садржај може бити користан за пружање описа решења и датотека примењених у пакету.

Белешка

Постоји још један тип пакета који се зове пакет додатних компоненти. Таква врста пакета је за зависне склопове додатних компоненти и нема никакав однос са Package Deployer пакетима.

Предуслови

  • Проверите да ли сте спремили сва решења и друге датотеке које желите да укључите у пакет.
  • Visual Studio 2019 . или касније, или Visual Studio Шифра.

Преглед процеса

Да бисте креирали Package Deployer пакет, извршите следеће кораке.

  • Креирајте Visual Studio или MSBuild пројекат
  • Додајте решење и друге датотеке пројекту
  • Ажурирајте обезбеђене HTML датотеке (опционално)
  • Наведите вредности конфигурације за пакет
  • Дефинишите прилагођени кôд за пакет
  • Израдите и примените пакет

Ови кораци су детаљно описани у овом чланку.

Креирајте пројекат за пакет

Први корак је креирање Visual Studio или MSBuild пројекта за пакет. Да бисте то урадили, на развојном рачунару морате имати инсталирано једно од два доступна проширења алатке. Ако користите Visual Studio Code, инсталирајте Microsoft Power Platform CLI. У супротном, ако користите Visual Studio 2019, инсталирајте Power Platform Tools за Visual Studio. Проширење Power Platform алата је тренутно доступно само за Visual Studio 2019. Међутим, креирани пројекат може да се изгради помоћу платформе Visual Studio 2019 или новије.

Изаберите одговарајућу картицу испод да бисте сазнали како да креирате пројекат користећи жељено проширење алатке. Обе алатке излазе из пројекта у сличном формату.

Покрените команду pac package init да бисте креирали почетни пакет. Још информација: pac package

pac package init help
pac package init --outputDirectory DeploymentPackage

Резултујући CLI излаз садржи фасцикле и датотеке приказане испод. Назив фасцикле „DeploymentPackage“ је овде коришћен као пример.

C:.
└───DeploymentPackage
    │   DeploymentPackage.csproj
    │   PackageImportExtension.cs
    │
    └───PkgAssets
            ImportConfig.xml
            manifest.ppkg.json

У креираном пројекту пронађите датотеку за конфигурацију програма ИмпортЦонфиг.xмл у фасцикли ПкгАссетс и датотеци PackageImportExtension.cs уређаја. Изменићете ове датотеке као што је описано у овом чланку.

Додајте датотеке пакета

Када креирате пројекат пакета, можете почети да додајете решења и друге датотеке том пројекту.

Када користите CLI, можете да додате спољне пакете, решења и референце на пројекат пакета помоћу једне од поткоманди add. Унесите pac package help да бисте видели листу поткоманди. Хајде да додамо решење у наш пакет.

> 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.

Конфигуришите пакет

  1. Дефинишите конфигурацију пакета додавањем информација о вашем пакету у датотеци ImportConfig.xml у пројекту. Отворите датотеку за уређивање. Следећа листа садржи информације о сваком параметру и чвору у датотеци конфигурације.

    installsampledata
    True или false. Ако је true, инсталира пробне податке у Dataverse инстанцу. Ови подаци су исти пробни подаци које можете инсталирати из области Поставке>Управљање подацима у услузи Dataverse.

    waitforsampledatatoinstall
    True или false. Ако је true и ако је installsampledata такође постављено на true, чека да се пробни подаци инсталирају пре примене пакета.

    Белешка

    Обавезно подесите installsampledata на true ако подешавате waitforsampledatatoinstall на true.

    agentdesktopzipfile
    Назив ZIP датотеке коју треба распаковати. Ако овде наведете назив .zip датотеке, додаће се екран током процеса примене пакета који од вас тражи да изаберете локацију на којој желите да отпакујете садржај датотеке.

    Овај атрибут се обично користи за креирање пакета за Unified Service Desk за Dynamics 365. За више информација о услузи Unified Service Desk, погледајте Водич за администраторе за Unified Service Desk 3.0.

    agentdesktopexename
    Назив .exe или .msi датотеке у zip датотеци или URL адресе за позивање на крају процеса примене.

    Овај атрибут се обично користи за креирање пакета за Unified Service Desk.

    crmmigdataimportfile
    Назив датотеке подразумеване датотеке конфигурације података (.zip) извезене помоћу алатке Миграција конфигурације.

    • Такође можете да увезете локализовану верзију датотеке података конфигурације на основу ID-а (LCID) локалног стандарда одређеног коришћењем нових подешавања извршавања током покретања алатке Package Deployer. Користите чвор <cmtdatafile> (објашњено касније) да одредите локализоване верзије датотеке података конфигурације у пакету, а затим користите метод OverrideConfigurationDataFileLanguage (објашњено касније) за одређивање логике за увоз датотеке података конфигурације на основу ID-а локалног стандарда који је наведен помоћу подешавања извршавања. Не можете истовремено да увезете више датотека са подацима о конфигурацији помоћу пакета.

    • За Dataverse (локални), ако датотека са подацима о конфигурацији садржи корисничке информације, а изворне и циљне Dataverse инстанце се налазију на истом домену активног директоријума, корисничке информације се увозе у циљну Dataverse инстанцу. Да бисте увезли корисничке податке у Dataverse (локалну) инстанцу на другом домену, морате у свој пројекат укључити датотеку за мапирање корисника (.xml) генерисану помоћу алатке Миграција конфигурације и навести је заједно са датотеком података конфигурације користећи атрибут usermapfilename у чвору <cmtdatafile> који је касније објашњен. Није могуће увести корисничке информације у Dataverse инстанце.
      Чвор <solutions>
      Садржи низ од <configsolutionfile> чворова који описују решења за увоз. Редослед решења под овим чвором означава редослед у којем ће се решења увести на циљ Dataverse инстанца.

      Чвор <configsolutionfile>
      Користите овај чвор испод чвора <solutions> бисте одредили појединачна решења и следеће информације за свако решење које се увози:

    • solutionpackagefilename: Наведите назив .zip датотеке решења. Обавезно.

    • overwriteunmanagedcustomizations: Наведите да ли треба заменити било која неуправљана прилагођавања приликом увоза решења које већ постоји у циљној Dynamics 365 инстанци. Овај атрибут је опционалан и ако не наведете овај атрибут, подразумевано се неконтролисана прилагођавања у постојећем решењу одржавају у циљној Дyнамицс 365 инстанци.

    • publishworkflowsandactivateplugins: Наведите да ли желите да објавите токове посла и активирате додатне компоненте у циљној Dynamics 365 инстанци након увоза решења. Овај атрибут је опционалан и ако не наведете да није наведен овај атрибут, токови посла се подразумевано објављују и активирају додатне компоненте након увоза решења у циљној Дyнамицс 365 инстанци.

      У пакет можете додати више назива датотека решења тако што ћете додати толико <configsolutionfile> чворова. На пример, ако желите да се увезу три датотеке решења, додајте их као што је приказано у наставку:

    
    <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> и <zipimportdetails> који се користе за опис појединачних датотека и ZIP датотека које треба да се увезу.

    Чвор <configimportfile>
    Употребите овај чвор испод чвора <configimportfile> да опишете датотеку коју треба увести у Dataverse. У пакет можете додати више датотека тако што ћете додати толико <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>  
    
    

    У наставку се налази листа подржаних атрибута:

    Атрибут Опис
    filename Назив датотеке која садржи податке за увоз. Ако је датотека .zip датотека, чвор <zipimportdetails> мора да буде присутан са чвором <zipimportdetail> за сваку датотеку у .zip датотеци.
    filetype Та вредност може да буде csv, xml или zip датотека.
    associatedmap Назив Dataverse мапе података за увоз који се користи са овом датотеком. Ако је празно, покушава да користи системски утврђен назив мапе података за увоз за ову датотеку.
    importtoentity Може да буде назив exe или zip датотеке, URL адреса или .msi датотека која обезбеђује везу за позивање на крају процеса примене.
    datadelimiter Назив знака за разграничавање података који се користи у датотеци за увоз. Важеће вредности су једноструки наводник или двоструки наводник.
    fielddelimiter Назив знака за разграничавање поља који се користи у датотеци за увоз. Важеће вредности су зарез или двотачка или један наводник.
    enableduplicatedetection Означава да ли треба омогућити правила откривања дупликата током увоза података. Важеће вредности су true или false.
    isfirstrowheader Користи се за означавање да први ред датотеке увоза садржи називе поља. Важеће вредности су true или false.
    isrecordownerateam Означава да ли би власник записа о увозу требало да буде тим. Важеће вредности су true или false.
    owneruser Означава ID корисника који треба да буде власник записа. Подразумевана вредност је тренутно пријављени корисник.
    waitforimporttocomplete Ако је true, систем чека да се увоз заврши пре него што наставите. Ако је false, поставља послове у ред чекања и наставља са радом.

    Чвор <zipimportdetails>
    Овај чвор садржи низ од <zipimportdetail> чворова који описују датотеке укључене у zip датотеку која се користи за увоз у Dynamics 365.

    Чвор <zipimportdetail>
    Користите овај чвор испод чвора <zipimportdetails> за пружање информација о појединачној датотеци у .zip датотеци која је наведена у чвору <configimportfile>.

    <filestoimport>  
    ...  
    ...  
    <zipimportdetails>  
    <zipimportdetail filename="subfile1.csv" filetype="csv" importtoentity="account" />  
    <zipimportdetail filename="subfile2.csv" filetype="csv" importtoentity="contact" />  
    </zipimportdetails>  
    </filestoimport>  
    
    

    У наставку се налази листа подржаних атрибута:

    Атрибут Опис
    filename Назив датотеке која садржи податке за увоз.
    filetype Ова вредност може бити csv, xml или zip.
    importtoentity Може да буде назив exe или zip датотеке, URL адреса или .msi датотека која обезбеђује везу за позивање на крају процеса примене.

    Чвор <filesmapstoimport>
    Овај чвор садржи низ од <configmapimportfile> чворова за увоз. Редослед датотека мапе у овом чрајку означава редослед увоза. Информације о мапама података потражите у чланку Креирање мапа података за увоз.

    Чвор <configimportmapfile>
    Користите овај чвор испод чвора <filesmapstoimport> за пружање информација о појединачној датотеци мапе коју треба увести у Dataverse.

    <filesmapstoimport>  
    <configimportmapfile filename="FileMap.xml" />  
    </filesmapstoimport>  
    

    Чвор <cmtdatafiles>
    Овај чвор садржи низ чворова који садрже <cmtdatafile> локализовану верзију датотеке са подацима о конфигурацији која треба да се увезе.

    Чвор <cmtdatafile>
    Користите овај чвор испод чвора <cmtdatafiles> да наведете локализоване датотеке података конфигурације заједно с ID-ом локалног стандарда (обавезно) и датотеком мапе корисничких информација (опционално). На пример:

    <cmtdatafiles>  
    <cmtdatafile filename="data_1033.zip" lcid="1033" usermapfilename="UserMap.xml" />  
    <cmtdatafile filename="data_1041.zip" lcid="1041" usermapfilename="" />  
    </cmtdatafiles>  
    

    Можете да дефинишете своју прилагођену логику у методи OverrideConfigurationDataFileLanguage (објашњено касније) да увезете локализовану датотеку података конфигурације уместо подразумеване (која је наведена у својству crmmigdataimportfile) на основу вредности ID-а локалног стандарда (LCID) која је одређена помоћу подешавања извршавања (објашњено касније).

  2. Изаберите ставку Сачувај све.

    Следећи xмл представља садржај пробне датотеке ImportConfig.xml .

    <?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>  
    
    

Додајте прилагођени кôд

Можете да додате прилагођени кôд који се извршава пре, током и након увоза пакета у окружење. Да бисте то урадили, следите следећа упутства.

  1. Уредите датотеку PackageTemplate.cs (или PackageImportExtension.cs) у основној фасцикли пројекта.

  2. У C# датотеци можете да урадите следеће:

    1. Унесите прилагођени кôд који ће се извршити када се пакет покрене дефиницији метода за измену InitializeCustomExtension.

      Ова метода се може користити за омогућавање корисницима да користе параметре извођења током извођења пакета. Као програмер, можете у свој пакет додати подршку за било који параметар извршавања користећи својство RuntimeSettings док год имате кôд за обраду на основу корисничког уноса.

      На пример, следећи пример кода омогућава параметар извођења који се зове SkipChecks за пакет који има две могуће вредности: true или false. Пример кода проверава да ли је корисник навео било какве параметре извођења током извођења алатке Package Deployer (било коришћењем командне линије или платформе PowerShell), а затим у складу с тим обрађује информације. Ако корисник током извођења пакета не наведе ниједан параметар извођења, својство RuntimeSettings ће бити без вредности.

      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");  
      }  
      

      Овај кôд омогућава администратору да користи командну линију или cmdlet команду Import-CrmPackage да одреди да ли да прескочи безбедносне провере током покретања алатке Package Deployer за увоз пакета. Још информација: Примена пакета коришћењем алатке Package Deployer и платформе Windows PowerShell

    2. Унесите прилагођени кôд који треба извршити пре увоза решења у дефиницији замене методе PreSolutionImport да бисте одредили да ли треба да одржавају или замене прилагођавања током ажурирања наведеног решења у циљној Dataverse инстанци и да ли треба аутоматски активирати додатне компоненте и токове посла.

    3. Користите дефиницију метода замене да бисте RunSolutionUpgradeMigrationStep извршили трансформацију података или надоградњу између две верзије решења Овај метод је позван само ако је решење које увозите већ присутно у циљној Dataverse инстанци.

      Ова функција очекује следеће параметре:

      Параметар Опис
      solutionName Назив решења
      oldVersion Број верзије старог решења
      newVersion Број верзије новог решења
      oldSolutionId GUID старог решења.
      newSolutionId GUID новог решења.
    4. Унесите прилагођени кôд који ће се извршити пре него што се доврши увоз решења у дефиницији замене методе BeforeImportStage. Подаци примера и неке просте датотеке за решења наведена у датотеци ImportConfig.xml се увозе пре него што се увоз решења доврши.

    5. Замените тренутно изабрани језик за увоз података за конфигурацију користећи дефиницију метода замене OverrideConfigurationDataFileLanguage. Ако наведени ИД локалног стандарда (ЛЦИД) наведеног језика није пронађен на листи доступних језика у пакету, подразумевана датотека са подацима се увози.

      Можете навести доступне језике за податке конфигурације у чвору <cmtdatafiles> у датотеци ImportConfig.xml. Подразумевана датотека за увоз података конфигурације наведена је у атрибуту crmmigdataimportfile у датотеци ImportConfig.xml.

      Прескакање провере података ( OverrideDataImportSafetyChecks = тачно) може бити ефикасно овде ако сте сигурни да Dataverse циљна инстанца не садржи податке.

    6. Унесите прилагођени кôд који ће се извршити након што се доврши увоз решења у дефиницији замене методе AfterPrimaryImport>. Преостале равне датотеке које раније нису увезене, пре него што је започет увоз решења, сада се увозе.

    7. Промените подразумевани назив фасцикле пакета у назив пакета који желите. Да бисте то учинили, преименујте фасциклу PkgFolder(или PkgAssets) у окну Истраживач решења, а затим измените повратну вредност испод својства GetImportPackageDataFolderName.

      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";  
      }  
      }  
      
    8. Промените име пакета тако што ћете уредити повратну вредност испод својства GetNameOfImport.

      public override string GetNameOfImport(bool plural)  
      {  
      return "Package Short Name";  
      }  
      

      Ова враћена вредност је име пакета који се појављује на страници за избор пакета у чаробњаку за Дyнамицс 365 Package Deployer .

    9. Промените опис пакета тако што ћете уредити повратну вредност испод својства GetImportPackageDescriptionText.

      
      public override string GetImportPackageDescriptionText  
      {  
      get { return "Package Description"; }  
      }  
      
      

      Ова враћена вредност је опис пакета који се појављује заједно са именом пакета на страници за избор пакета у чаробњаку Package Deployer .

    10. Промените дуги назив пакета тако што ћете уредити повратну вредност испод својства GetLongNameOfImport.

      
      public override string GetLongNameOfImport  
      {  
      get { return "Package Long Name"; }  
      }  
      
      

      Дуги назив пакета се приказује на следећој страници након што сте изабрали пакет за инсталацију.

  3. Поред тога, у пакету су доступне следеће функције и променљиве:

    Назив Тип Опис
    CreateProgressItem(String) Function Користи се за креирање нове ставке напретка у корисничком интерфејсу (UI).
    RaiseUpdateEvent(String, ProgressPanelItemStatus) Function Користи се за ажурирање напретка креираног позивом CreateProgressItem(String).

    ProgressPanelItemStatus је нумеричка вредност са следећим вредностима:

    Working = 0
    Complete = 1
    Failed = 2
    Warning = 3
    Unknown = 4
    RaiseFailEvent(String, Exception) Function Користи се за неуспех увоза тренутног статуса са поруком о изузимању.
    IsRoleAssoicatedWithTeam(Guid, Guid) Function Користи се за утврђивање да ли је улога повезана са одређеним тимом.
    IsWorkflowActive(Guid) Function Користи се за утврђивање да ли је одређени ток посла активан.
    PackageLog Показивач класе Показивач на покренути интерфејс за евидентирање пакета. Овај интерфејс се користи у пакету за евидентирање порука и изузетака у датотеци евиденције пакета.
    RootControlDispatcher Својство Ово је интерфејс за диспечера који се користи како би контрола могла да прикаже сопствени кориснички интерфејс током примене пакета. Користите овај интерфејс да обухватите све елементе или команде корисничког интерфејса. Важно је да проверите да ли у овој променљивој има вредности "нулл" пре него што је употребите јер можда није постављена на вредност.
    CrmSvc Својство Показивач на класу CrmServiceClient која омогућава пакету да се обраћа систему Dynamics 365 из пакета. Користите овај показивач за извршавање SDK метода и других радњи у замењеним методама.
    DataImportBypass Својство Наведите да ли Dynamics 365 Package Deployer прескаче све операције увоза података, као што је увоз Dataverse пробних података, података простих датотека и података извезених из алатке Миграција конфигурације. Наведите „true“ или „false“. Подразумевано је false.
    OverrideDataImportSafetyChecks Својство Наведите да ли Дyнамицс 365 Package Deployer заобилази неке од својих безбедносних провера, што помаже у побољшању перформанси увоза. Наведите true или false. Подразумевано је false.

    Ово својство би требало да поставите true само ако циљна Dataverse инстанца не садржи податке.
  4. Сачувајте пројекат. Следећи корак је да изградите пакет.

Изградите и примените

Следећи одељци описују како се прави и примењује пакет.

Прављење

Израда пакета је описана испод у зависности од алатке коју користите.

Да бисте направили пакет креиран помоћу ЦЛИ-ја, можете да учитате .цспрој датотеку Visual Studio у, али уместо тога користићемо команду дотнет и МСБуилд. Пример у наставку претпоставља да радни директоријум садржи датотеку *.csproj.

> dotnet publish

DeploymentPackage -> C:\Users\peter\Downloads\DeploymentPackage\bin\Debug\DeploymentPackage.1.0.0.pdpkg.zip

Опционално можете погледати детаље изграђеног пакета.

> pac package show --package .\bin\Debug\DeploymentPackage.1.0.0.pdpkg.zip

Пакет сачињавају следеће датотеке испод фасцикле <Project>\Bin\Debug.

  • <Фасцикла ПацкагеНаме > : Име фасцикле је исто као и оно које сте променили за име фасцикле пакета у кораку 2.г овог одељка Додај прилагођени кôд. Ова фасцикла садржи сва решења, податке конфигурације, просте датотеке и садржај пакета.

Белешка

Можда ћете видети фасциклу .NET (нпр. net472) која садржи фасциклу pdpublish. DLL и друге датотеке пројекта се налазе у фасцикли pdpublish.

  • <PackageName>.dll: Склоп садржи прилагођени кôд за ваш пакет. Назив склопа је подразумевано исти као и назив вашег пројекта.

Примена

Када креирате пакет, можете га применити на Dataverse инстанцу користећи алатку Package Deployer, Windows PowerShell или CLI команду.

  • Да бисте је применили помоћу алатке Package Deployer, прво преузмите алатку као што је описано у Dataverse алаткама за развој. Затим следите детаљне информације о примени пакета у пакетима за примену чланка који користе Package Deployer или Wиндоwс ПоwерСхелл.

  • Да бисте је применили помоћу CLI ,користите команду pac package deploy.

    > pac package deploy --package .\bin\Debug\DeploymentPackage.1.0.0.pdpkg.zip
    

    Белешка

    Да бисте применили пакет у циљно окружење помоћу CLI, прво морате да подесите профил потврде идентитета и изаберете организацију. Још информација: pac auth create, pac org select

Најбољи примери из праксе

У наставку је наведено неколико најбољих савета за вежбање које треба следити приликом рада са Package Deployer пакетима.

Креирање пакета

Приликом креирања пакета, програмери морају да ураде следеће:

  • Уверите се да су склопови пакета потписани.

Примена пакета

Приликом примене пакета, Dataverse администратори морају да ураде следеће:

  • Инсистирају да склоп пакета буде потписан да бисте могли да га пратите склоп натраг до извора.
  • Тестирајте пакет на инстанци препродукције , по могућству у огледалу Производна инстанца, пре него што га покренете на Производна инстанца.
  • Да направе резервну копију производне инстанце пре примене пакета.

Такође погледајте

Алатка за прављење пакета решења