Kongsi melalui


Cipta pakej untuk alat Package Deployer

Package Deployer membenarkan pentadbir menggunakan pakej pada tika Microsoft Dataverse. Package Deployer pakej boleh terdiri daripada mana-mana atau semua yang berikut:

  • Satu atau lebih Dataverse fail penyelesaian.
  • Fail rata atau fail data konfigurasi dieksport daripada alat Pemindahan Konfigurasi. Untuk maklumat lanjut tentang alat, lihat Alihkan data konfigurasi merentas tika dan organisasi dengan Configuration Migration Tool.
  • Kod tersuai yang boleh dijalankan sebelum, semasa, atau selepas pakej dilaksanakan ke tika Dataverse.
  • Kandungan HTML khusus untuk pakej yang boleh dipaparkan pada permulaan dan penghujung proses pelaksanaan. Kandungan ini boleh menjadi berguna untuk memberikan penerangan tentang penyelesaian dan fail yang digunakan di dalam pakej.

Nota

Terdapat satu lagi jenis pakej yang dipanggil pakej pasang masuk. Pakej jenis itu adalah untuk perhimpunan pasang masuk dan tidak mempunyai hubungan dengan pakej Package Deployer.

Prasyarat

  • Pastikan anda bersedia dengan penyelesaian dan fail lain yang anda mahu masukkan ke dalam pakej.
  • Visual Studio 2019 atau lebih baru, atau Visual Studio Kod.

Gambaran keseluruhan proses

Untuk membuat Package Deployer pakej, lakukan langkah-langkah berikut.

  • Cipta projek Visual Studio atau MSBuild
  • Tambah penyelesaian dan fail lain kepada projek
  • Kemas kini fail HTML yang disediakan (pilihan)
  • Tentukan nilai konfigurasi untuk pakej
  • Takrif kod tersuai untuk pakej
  • Bina dan gunakan pakej

Langkah-langkah ini diterangkan secara terperinci dalam artikel ini.

Cipta projek pakej

Langkah pertama ialah mencipta projek Visual Studio MSBuild untuk pakej tersebut. Untuk berbuat demikian, anda mesti mempunyai salah satu daripada dua sambungan alat tersedia yang dipasang dalam komputer pembangunan anda. Jika menggunakan Visual Studio Code, pasang Microsoft Power Platform CLI. Jika tidak, jika menggunakan Visual Studio 2019, pasang Power Platform Tools untuk Visual Studio. Sambungan alat pada Power Platform masa ini hanya tersedia untuk Visual Studio tahun 2019. Walau bagaimanapun, projek yang dicipta boleh dibina menggunakan Visual Studio 2019 atau lebih baharu.

Pilih tab yang sesuai di bawah untuk mengetahui cara untuk mencipta projek menggunakan sambungan alat yang diingini. Kedua-dua alat mengeluarkan projek dalam format yang sama.

Jalankan arahan pac package init untuk mencipta pakej awal. Maklumat lanjut: pac package

pac package init help
pac package init --outputDirectory DeploymentPackage

Output CLI yang terhasil mengandungi folder dan fail yang ditunjukkan di bawah. Nama folder "DeploymentPackage" telah digunakan di sini sebagai contoh.

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

Dalam projek yang dicipta, cari fail konfigurasi ImportConfig.xml dalam folder PkgAssets dan fail PackageImportExtension.cs. Anda akan mengubah suai fail ini seperti yang diterangkan dalam artikel ini kemudian.

Tambah fail pakej

Selepas anda mencipta projek pakej, anda boleh mula menambah penyelesaian dan fail lain kepada projek tersebut.

Apabila menggunakan CLI, anda boleh menambah pakej luaran, penyelesaian, dan rujukan kepada projek pakej anda menggunakan salah satu daripada sub perintah tambah. Masukkan pac package help untuk melihat senarai sub perintah. Mari tambah penyelesaian kepada pakej kami.

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

Konfigurasikan pakej

  1. Takrifkan konfigurasi pakej dengan menambah maklumat tentang pakej anda dalam fail ImportConfig.xml tersedia dalam projek. Buka fail untuk mengedit. Senarai berikut menyediakan maklumat tentang setiap parameter dan nod dalam fail konfigurasi.

    installsampledata
    True atau false. Jika true, pasangkan data sampel ke tika Dataverse. Data Ini adalah data sampel yang sama yang boleh anda pasang daripada kawasan Tetapan>Pengurusan Data dalam Dataverse.

    waitforsampledatatoinstall
    Benar atau palsu. Jika benar dan jika installsampledata juga ditetapkan ke benar, tunggu data sampel untuk pasang sebelum melaksanakan pakej.

    Nota

    Pastikan anda tetapkan installsampledata ke benar jika anda menetapkan waitforsampledatatoinstall ke benar.

    agentdesktopzipfile
    Nama fail bagi fail zip untuk dibuka. Jika anda menentukan nama fail .zip di sini, ia akan menambah skrin semasa proses pelaksanaan pakej yang menggesa anda untuk memilih lokasi di mana anda mahu membuka kandungan fail.

    Atribut ini kebiasaannya digunakan untuk mencipta pakej bagi Unified Service Desk untuk Dynamics 365. Untuk maklumat lanjut tentang Unified Service Desk, lihat Panduan Pentadbiran untuk Unified Service Desk 3.0.

    agentdesktopexename
    Nama fail .exe atau .msi dalam fail zip atau URL untuk dipanggil pada penghujung proses pelaksanaan.

    Atribut ini kebiasaannya digunakan untuk mencipta pakej bagi Unified Service Desk.

    crmmigdataimportfile
    Nama fail bagi fail data konfigurasi lalai (.zip) dieksport menggunakan alat Pemindahan Konfigurasi.

    • Anda juga boleh mengimport fail data konfigurasi bagi versi disetempatkan berasaskan ID setempat (LCID) yang ditentukan menggunakan tetapan masa jalanan apabila menjalankan package deployer. Gunakan nod <cmtdatafile> (diterangkan kemudian) untuk menentukan fail data konfigurasi bagi versi setempat dalam pakej dan kemudian gunakan kaedah (diterangkan kemudian) OverrideConfigurationDataFileLanguage untuk menentukan logik mengimport fail data konfigurasi berasaskan pada ID setempat yang ditentukan menggunakan tetapan masa jalan. Anda tidak boleh mengimport lebih daripada satu fail data konfigurasi menggunakan pakej pada satu masa.

    • Untuk Dataverse (di premis), jika fail data konfigurasi anda mengandungi maklumat pengguna dan kedua-dua contoh sumber dan sasaran berada pada Domain Active Directory yang sama, maklumat pengguna diimport ke tika sasaran Dataverse Dataverse . Untuk mengimport maklumat pengguna ke tika Dataverse (di premis) dalam domain yang berbeza, anda mesti memasukkan fail peta pengguna (.xml) dijana menggunakan alat Pemindahan Konfigurasi dalam projek anda dan tentukannya bersama dengan fail data konfigurasi menggunakan atribut usermapfilename dalam nod <cmtdatafile> yang diterangkan kemudian. Maklumat pengguna tidak boleh diimport kepada Dataverse tika.
      <solutions> nod
      Mengandungi tatasusunan nod <configsolutionfile> yang menggambarkan penyelesaian untuk mengimport. Pesanan penyelesaian di bawah nod ini menunjukkan pesanan penyelesaian yang akan diimport pada tika Dataverse sasaran.

      <configsolutionfile> nod
      Gunakan nod di bawah nod <solutions> untuk menentukan penyelesaian individu dan maklumat berikut untuk setiap penyelesaian yang akan diimport:

    • solutionpackagefilename: Tentukan nama fail .zip penyelesaian anda. Diperlukan.

    • overwriteunmanagedcustomizations: Tentukan sama ada untuk menulis ganti penyesuaian tidak terurus semasa mengimport penyelesaian yang telah wujud dalam tika Dynamics 365 sasaran. Atribut ini adalah pilihan dan jika anda tidak menentukan atribut ini, secara lalai penyesuaian tidak terurus dalam penyelesaian sedia ada dikekalkan pada tika sasaran Dynamics 365.

    • publishworkflowsandactivateplugins: Tentukan sama ada untuk menerbitkan aliran kerja dan pasang masuk diaktifkan dalam tika Dynamics 365 selepas penyelesaian diimport. Atribut ini adalah pilihan dan jika anda tidak menentukan tidak menentukan atribut ini, secara lalai aliran kerja diterbitkan dan pasang masuk diaktifkan selepas penyelesaian diimport pada sasaran Dynamics 365.

      Anda boleh menambah berbilang nama fail penyelesaian dengan menambah seberapa banyak nod <configsolutionfile>. Contohnya, jika anda mahu mengimport tiga fail penyelesaian, tambahkannya seperti ditunjukkan di bawah:

    
    <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> nod
    Mengandungi tatasusunan <configimportfile> dan nod <zipimportdetails> yang digunakan untuk menggambarkan fail individu dan fail zip masing-masing untuk diimport.

    <configimportfile> nod
    Gunakan nod di bawah nod <configimportfile> bagi menggambarkan fail untuk diimport ke Dataverse. Anda boleh menambah berbilang fail dalam pakej dengan menambah seberapa banyak nod <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>  
    
    

    Berikut ialah senarai atribut yang disokong:

    Atribut Description
    filename Nama fail yang mengandungi data import. Jika fail adalah fail .zip, nod <zipimportdetails> mesti wujud dengan nod <zipimportdetail> untuk setiap fail dalam fail .zip.
    filetype Nilai Ini boleh csv, xml, atau zip.
    associatedmap Nama peta data import Dataverse untuk digunakan dengan fail. Jika kosong, cuba gunakan nama peta data import yang ditentukan oleh sistem untuk fail ini.
    importtoentity Boleh jadi nama exe dalam fail zip, URL atau fail .msi bagi menyediakan pautan untuk digunakan pada penghujung proses.
    datadelimiter Nama pembatas data yang digunakan dalam fail import. Nilai yang sah ialah sebut harga tunggal atau sebut harga berganda.
    fielddelimiter Nama pembatas medan yang digunakan dalam fail import. Nilai yang sah ialah koma atau kolon, atau sebut harga tunggal.
    enableduplicatedetection Menunjukkan sama ada untuk mendayakan peraturan pengesanan duplikasi pada import data. Nilai sah ialah benar atau palsu.
    isfirstrowheader Digunakan untuk menandakan bahawa baris pertama fail import mengandungi nama medan. Nilai sah ialah true atau false.
    isrecordownerateam Menunjukkan sama ada pemilik rekod pada import perlu pasukan. Nilai sah ialah true atau false.
    owneruser Menunjukkan pengguna ID hendaklah memiliki rekod. Nilai lalai adalah pengguna yang melog masuk pada masa ini.
    waitforimporttocomplete Jika true, sistem menunggu untuk import selesai sebelum meneruskan. Jika false, ia akan membaris gilir kerja dan beralih.

    <zipimportdetails> nod
    Nod ini mengandungi tatasusunan nod <zipimportdetail> yang menggambarkan fail termasuk dalam fail zip yang digunakan untuk mengimport ke Dynamics 365.

    <zipimportdetail> nod
    Gunakan nod ini di bawah nod <zipimportdetails> untuk menyediakan maklumat tentang fail individu dalam fail .zip yang ditentukan dalam nod <configimportfile>.

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

    Atribut yang disokong disenaraikan di bawah:

    Atribut Description
    filename Nama fail yang mengandungi data import.
    filetype Nilai Ini boleh csv atau xml.
    importtoentity Boleh jadi nama exe dalam fail zip, url atau fail .msi bagi menyediakan pautan untuk digunakan pada penghujung proses.

    <filesmapstoimport> nod
    Node ini mengandungi tatasusunan nod <configmapimportfile> untuk diimport. Tertib fail peta dalam nod ini menunjukkan susunan di mana ia diimport. Untuk maklumat tentang peta data, lihat Cipta peta data untuk diimport.

    <configimportmapfile> nod
    Gunakan nod di bawah nod <filesmapstoimport> untuk menyediakan maklumat tentang fail peta individu untuk diimport dalam Dataverse.

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

    <cmtdatafiles> nod
    Nod ini mengandungi tatasusunan <cmtdatafile> nod yang mengandungi versi setempat fail data konfigurasi yang akan diimport.

    <cmtdatafile> nod
    Gunakan nod di bawah nod <cmtdatafiles> untuk menentukan fail data konfigurasi disetempatkan bersama dengan ID setempat (diperlukan) dan fail peta maklumat pengguna (pilihan). Contohnya:

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

    Anda boleh menakrif logik tersuai anda dalam kaedah OverrideConfigurationDataFileLanguage (diterangkan kemudian) untuk mengimport fail data konfigurasi disetempatkan berbanding yang lalai (ditentukan dalam crmmigdataimportfile) berasaskan pada nilai ID setempat (LCID) yang ditentukan menggunakan tetapan masa jalanan (diterangkan kemudian).

  2. Pilih Simpan Semua.

    Xml berikut mewakili kandungan fail sampel 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>  
    
    

Tambah kod tersuai

Anda boleh menambah kod tersuai yang dilaksanakan sebelum, semasa dan, selepas pakej diimport ke dalam persekitaran. Untuk berbuat demikian, ikut arahan ini.

  1. Edit fail PackageTemplate.cs (atau PackageImportExtension.cs) dalam folder akar projek.

  2. Dalam fail C#, anda boleh:

    1. Masukkan kod tersuai untuk dilaksanakan apabila pakej diawalkan dalam definisi kaedah ganti bagi InitializeCustomExtension.

      Kaedah ini boleh digunakan untuk membenarkan pengguna menggunakan parameter masa jalanan apabila menjalankan pakej. Sebagai pembangun, anda boleh menambah sokongan untuk mana-mana parameter masa jalanan pada pakej anda dengan menggunakan sifat RuntimeSettings selagi anda mempunyai kod untuk memprosesnya berasaskan pada input pengguna.

      Contohnya, kod sampel berikut mendayakan parameter masa jalanan dipanggil SkipChecks untuk pakej yang mempunyai dua kemungkinan nilai: benar atau palsu. Kod sampel memeriksa jika pengguna menentukan sebarang parameter masa jalanan apabila Package Deployer (sama ada menggunakan baris perintah atau PowerShell), dan kemudian memproses maklumat sewajarnya. Jika tiada parameter masa jalanan ditentukan oleh pengguna apabila menjalankan pakej, nilai sifat RuntimeSettings akan menjadi nol.

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

      Kod ini membenarkan pentadbir menggunakan baris perintah atau cmdlet Import-CrmPackage bagi menentukan sama ada melangkau semakan keselamatan apabila menjalankan alat Package Deployer untuk mengimport pakej. Maklumat lanjut: Laksanakan pakej menggunakan Package Deployer dan Windows PowerShell

    2. Masukkan kod tersuai untuk melaksanakan sebelum penyelesaian diimport dalam definisi kaedah ganti PreSolutionImport bagi menentukan sama ada mengekalkan atau menulis ganti penyesuaian semasa mengemas kini penyelesaian yang ditentukan dalam tika Dataverse sasaran dan sama ada untuk memasang masuk diaktifkan dan aliran kerja.

    3. Gunakan takrifan RunSolutionUpgradeMigrationStep kaedah override untuk melaksanakan transformasi data atau menaik taraf antara dua versi penyelesaian Kaedah ini dipanggil hanya jika penyelesaian yang anda import sudah ada dalam contoh sasaran Dataverse .

      Fungsi ini menjangkakan parameter berikut:

      Parameter Penerangan
      solutionName Nama penyelesaian
      oldVersion Nombor versi penyelesaian lama
      newVersion Nombor versi penyelesaian baharu
      oldSolutionId GUID penyelesaian lama.
      newSolutionId GUID penyelesaian baharu.
    4. Masukkan kod tersuai untuk dilaksanakan sebelum import penyelesaian selesai dalam definisi kaedah ganti bagi BeforeImportStage. Data sampel dan beberapa fail rata untuk penyelesaian yang ditentukan dalam fail ImportConfig.xml diimport sebelum import penyelesaian selesai.

    5. Menulis ganti bahasa yang kini dipilih untuk import data konfigurasi menggunakan takrifan OverrideConfigurationDataFileLanguage kaedah override. Jika ID penempatan yang ditentukan (LCID) bagi bahasa yang ditentukan tidak ditemui dalam senarai bahasa yang tersedia dalam pakej, fail data lalai diimport.

      Anda menentukan bahasa tersedia untuk data konfigurasi dalam nod <cmtdatafiles> dalam fail ImportConfig.xml. Fail import data konfigurasi lalai ditentukan dalam atribut crmmigdataimportfile dalam fail ImportConfig.xml.

      Melangkau semakan data (OverrideDataImportSafetyChecks = benar) boleh berkesan di sini jika anda pasti bahawa tika sasaran Dataverse tidak mengandungi sebarang data.

    6. Masukkan kod tersuai untuk dilaksanakan selepas import selesai dalam definisi ganti kaedah AfterPrimaryImport>. Baki fail rata yang tidak diimport lebih awal, sebelum import penyelesaian bermula, diimport sekarang.

    7. Ubah nama lalai folder pakej anda kepada nama pakej yang anda mahukan. Untuk berbuat demikian, namakan semula folder PkgFolder (atau PkgAssets) dalam anak tetingkap Peneroka Penyelesaian, dan kemudian edit nilai yang dikembalikan di bawah sifat 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. Ubah nama pakej dengan mengedit nilai yang dikembalikan di bawah sifat GetNameOfImport.

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

      Nilai yang dikembalikan ini ialah nama pakej anda yang muncul pada halaman pemilihan pakej dalam bestari Dynamics 365 Package Deployer .

    9. Ubah description pakej dengan mengedit nilai yang dikembalikan di bawah sifat GetImportPackageDescriptionText.

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

      Nilai yang dikembalikan ini ialah perihalan pakej yang muncul bersama nama pakej pada halaman pemilihan pakej dalam Package Deployer bestari.

    10. Ubah nama panjang pakej dengan mengedit nilai yang dikembalikan di bawah sifat GetLongNameOfImport.

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

      Nama panjang pakej dipaparkan pada halaman seterusnya selepas anda telah memilih pakej untuk dipasang.

  3. Selain itu, fungsi dan pemboleh ubah berikut tersedia untuk pakej:

    Nama Jenis Penerangan
    CreateProgressItem(String) Function Digunakan untuk mencipta item dalam antara muka pengguna (UI).
    RaiseUpdateEvent(String, ProgressPanelItemStatus) Function Digunakan untuk kemas kini kemajuan dicipta oleh panggilan ke CreateProgressItem(String).

    ProgressPanelItemStatus ialah enum dengan nilai berikut:

    Bekerja = 0
    Selesai = 1
    Gagal = 2
    Amaran = 3
    Tidak diketahui = 4
    RaiseFailEvent(String, Exception) Function Digunakan untuk menggagalkan status import semasa dengan message pengecualian.
    IsRoleAssoicatedWithTeam(Guid, Guid) Function Digunakan untuk menentukan jika peranan berkaitan dengan pasukan tertentu.
    IsWorkflowActive(Guid) Function Digunakan untuk menentukan jika aliran kerja yang ditentukan adalah aktif.
    PackageLog Penuding Kelas Penuding untuk memulakan antara muka pengelogan bagi pakej. Antara muka ini digunakan oleh pakej untuk log message dan pengecualian ke fail log pakej.
    RootControlDispatcher Sifat Antara muka penghantar yang digunakan untuk membenarkan kawalan anda memaparkan UI sendiri semasa pelaksanaan pakej. Gunakan antara muka ini untuk memperkemaskan mana-mana elemen atau perintah . Adalah penting untuk menyemak pemboleh ubah ini untuk nilai nol sebelum menggunakannya kerana ia mungkin tidak disetkan kepada nilai.
    CrmSvc Sifat Penuding kepada kelas CrmServiceClient yang membenarkan pakej untuk menangani Dynamics 365 daripada dalam pakej. Gunakan penuding ini untuk melaksanakan kaedah SDK dan tindakan lain dalam kaedah diganti.
    DataImportBypass Sifat Tentukan sama ada Dynamics 365 Package Deployer melangkau semua operasi import data seperti mengimport data sampel Dataverse, data fail rata dan data yang dieksport daripada Configuration Migration Tool. Tentukan benar atau palsu. Lalai ialah false.
    OverrideDataImportSafetyChecks Sifat Tentukan sama ada Dynamics 365 Package Deployer memintas beberapa semakan keselamatannya, yang membantu dalam meningkatkan prestasi import. Tentukan true atau false. Lalai ialah false.

    Anda harus mengesetkan sifat ini hanya jika true tika sasaran Dataverse tidak mengandungi sebarang data.
  4. Simpan projek anda. Langkah seterusnya ialah untuk membina pakej.

Bina dan gunakan

Bahagian berikut menerangkan cara membina dan menggunakan pakej.

Bina

Membina pakej anda diterangkan di bawah bergantung pada alat yang anda gunakan.

Untuk membina pakej yang dibuat dengan CLI, anda boleh memuatkan fail .csproj ke dalam Visual Studio, tetapi sebaliknya kami akan menggunakan arahan dotnet dan MSBuild. Contoh di bawah menganggap direktori kerja mengandungi fail *.csproj.

> dotnet publish

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

Anda boleh lihat secara pilihan pada butiran pakej terbina.

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

Pakej anda dibuat daripada fail berikut di bawah folder <Project>\Bin\Debug.

  • <Folder> PackageName: Nama folder adalah sama seperti yang anda ubah untuk nama folder pakej anda dalam langkah 2.g bahagian ini Tambah kod tersuai. Folder ini mengandungi semua penyelesaian, data konfigurasi, fail rata, dan kandungan untuk pakej anda.

Nota

Anda mungkin nampak folder .NET (cth, net472) mengandungi folder pdpublish. Fail DLL dan projek lain anda ada dalam folder pdpublish.

  • <PackageName>.dll: Pemasangan ini mengandungi kod tersuai untuk pakej anda. Secara lalai, nama pemasangan sama seperti nama projek anda.

Laksana

Selepas anda mencipta pakej, anda boleh melaksanakannya pada tika Dataverse dengan menggunakan alat Package Deployer, Windows PowerShell, atau perintah CLI.

  • Untuk menggunakan alat ini Package Deployer, pertama sekali muat turun alat seperti yang diterangkan dalam alat pembangunan Dataverse. Seterusnya, ikuti maklumat terperinci tentang penggunaan pakej dalam artikel Gunakan pakej menggunakan Package Deployer atau Windows PowerShell.

  • Untuk laksanakan menggunakan CLI, gunakan perintah pac package deploy.

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

    Nota

    Untuk menggunakan pakej kepada persekitaran sasaran menggunakan CLI, anda mesti menyediakan profil pengesahan terlebih dahulu dan memilih organisasi. Maklumat lanjut: pac auth create, pac org select

Amalan terbaik

Berikut adalah beberapa petua amalan terbaik untuk diikut apabila bekerja dengan pakej Package Deployer.

Mencipta pakej

Apabila mencipta pakej, pembangun mesti:

  • Pastikan pemasangan pakej ditandatangan.

Menggunakan pakej

Semasa menggunakan pakej, pentadbir Dataverse mestilah:

  • Bertegas untuk pemasangan pakej ditandatangan supaya anda boleh menjejak semula pemasangan ke sumbernya.
  • Uji pakej pada contoh praproduksi, sebaik-baiknya imej cermin tika pengeluaran, sebelum menjalankannya pada tika pengeluaran.
  • Sandarkan tika pengeluaran sebelum melaksanakan pakej.

Lihat juga

Alat Pempakej Penyelesaian