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
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
ataufalse
. Jikatrue
, 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
ataufalse
.isrecordownerateam
Menunjukkan sama ada pemilik rekod pada import perlu pasukan. Nilai sah ialah true
ataufalse
.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. Jikafalse
, 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).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.
Edit fail PackageTemplate.cs (atau PackageImportExtension.cs) dalam folder akar projek.
Dalam fail C#, anda boleh:
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
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.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. 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 failImportConfig.xml
diimport sebelum import penyelesaian selesai.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 failImportConfig.xml
. Fail import data konfigurasi lalai ditentukan dalam atributcrmmigdataimportfile
dalam failImportConfig.xml
.Melangkau semakan data (OverrideDataImportSafetyChecks = benar) boleh berkesan di sini jika anda pasti bahawa tika sasaran Dataverse tidak mengandungi sebarang data.
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.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 sifatGetImportPackageDataFolderName
.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"; } }
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 .
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.
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.
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 = 4RaiseFailEvent(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
ataufalse
. Lalai ialahfalse
.
Anda harus mengesetkan sifat ini hanya jikatrue
tika sasaran Dataverse tidak mengandungi sebarang data.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
Maklum balas
https://aka.ms/ContentUserFeedback.
Akan datang: Sepanjang 2024, kami akan menghentikan secara berperingkat Isu GitHub sebagai kaedah maklum balas untuk kandungan dan menggantikannya dengan sistem maklum balas baharu. Untuk mendapatkan maklumat lanjut lihat:Kirim dan lihat maklum balas untuk