Hướng dẫn đóng gói phần mềm trong visual studio 2023

Hãy nâng cấp lên Microsoft Edge để tận dụng các tính năng mới nhất, bản cập nhật bảo mật và hỗ trợ kỹ thuật.

  • Bài viết
  • 03/27/2023

Trong bài viết này

Package Deployer cho phép quản trị viên triển khai gói trên phiên bản Microsoft Dataverse. Một gói Package Deployer có thể bao gồm bất kỳ hoặc tất cả những điều sau đây:

  • Một hoặc nhiều Dataverse tệp giải pháp.
  • Tệp mỏng hoặc tệp dữ liệu cấu hình được xuất từ Configuration Migration Tool. Để biết thông tin về công cụ này, hãy xem Di chuyển dữ liệu cấu hình giữa các phiên bản và tổ chức với Configuration Migration Tool.
  • Mã tùy chỉnh có thể chạy trước, trong hoặc sau khi các gói phần mềm được triển khai đến phiên bản Dataverse.
  • Nội dung HTML cụ thể cho các gói phần mềm mà có thể hiển thị ở đầu và cuối của quá trình triển khai. Nội dung này có thể hữu ích để cung cấp một mô tả về các giải pháp và tệp đã được triển khai trong gói.

Lưu ý

Có một loại gói khác gọi là gói phần bổ trợ. Loại gói đó dành cho các tổ hợp phụ thuộc phần bổ trợ và không có mối quan hệ nào với các gói Package Deployer.

Điều kiện tiên quyết

  • Đảm bảo rằng bạn có tất cả các giải pháp và tệp khác sẵn sàng mà bạn muốn đưa vào trong gói.
  • Visual Studio 2019 trở lên, hoặc Visual Studio Code

Tổng quan về quy trình

Để tạo một gói Package Deployer, bạn sẽ thực hiện các bước sau.

  • Tạo một dự án Visual Studio hoặc MSBuild
  • Thêm giải pháp và các tệp khác vào dự án
  • Cập nhật tệp HTML được cung cấp (tùy chọn)
  • Chỉ định các giá trị cấu hình cho gói
  • Xác định mã tùy chỉnh cho gói
  • Xây dựng và triển khai gói

Các bước này được mô tả chi tiết ở chủ đề này.

Tạo dự án theo gói

Bước đầu tiên là tạo dự án Visual Studio hoặc MSBuild cho gói. Để làm điều đó, bạn phải cài đặt một trong hai tiện ích mở rộng công cụ có trên máy tính phát triển của mình. Nếu sử dụng Visual Studio Code, hãy cài đặt . Mặt khác, nếu sử dụng Visual Studio 2019, hãy cài đặt Power Platform Tools cho Visual Studio. Xin lưu ý rằng tiện ích mở rộng Power Platform Tools hiện chỉ có sẵn cho Visual Studio 2019. Tuy nhiên, bạn có thể xây dựng dự án đã tạo bằng Visual Studio 2019 trở lên.

Chọn tab thích hợp bên dưới để tìm hiểu cách tạo dự án bằng tiện ích mở rộng công cụ mong muốn. Cả hai công cụ đều xuất dự án ở định dạng tương tự nhau.

Chạy lệnh để tạo gói ban đầu. Thông tin khác: pac package

pac package init help
pac package init --outputDirectory DeploymentPackage

Kết quả đầu ra CLI chứa các thư mục và tệp hiển thị bên dưới. Tên thư mục "DeploymentPackage" đã được sử dụng ở đây làm ví dụ.

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

Trong dự án đã tạo, bạn sẽ tìm thấy tệp cấu hình ImportConfig.xml trong thư mục PkgAssets và tệp PackageImportExtension.cs. Bạn sẽ sửa đổi các tệp này như được mô tả cuối chủ đề này.

Bạn có thể tạo một dự án Visual Studio bằng Mẫu giải pháp Power Platform rồi sau đó thêm một dự án theo gói bằng mẫu Dự án triển khai gói Power Platform hoặc đơn giản là tạo trực tiếp một dự án bằng mẫu Dự án triển khai gói Power Platform.

Hướng dẫn đóng gói phần mềm trong visual studio 2023

Lưu ý

Không chọn mẫu Gói Power Platform. Mẫu đó dành cho các gói phần bổ trợ.

Dự án và giải pháp kết quả Visual Studio chứa các thư mục và tệp hiển thị bên dưới. Tên "Deployment-package" đã được sử dụng ở đây làm ví dụ. Nội dung của thư mục Nội dung không được hiển thị ở đây cho ngắn gọn.

C:.
│   Deployment-package.csproj
│   Deployment-package.sln
│   GettingStarted.html
│   PackageTemplate.cs
│
├───PkgFolder
│   │   ImportConfig.xml
│   │
│   └───Content

Trong dự án đã tạo, bạn sẽ tìm thấy tệp cấu hình ImportConfig.xml trong thư mục PkgFolder và tệp PackageTemplate.cs. Bạn sẽ sửa đổi các tệp này như được mô tả cuối chủ đề này.

Thông tin thêm về cách sử dụng tiện ích mở rộng Power Platform Tools: Hương dẫn bắt đầu nhanh: Tạo dự án Power Platform Tools

Thêm tệp gói

Sau khi đã tạo dự án trọn gói, bạn có thể bắt đầu thêm giải pháp và các tệp khác vào dự án đó.

Khi sử dụng CLI, bạn có thể thêm các gói, giải pháp và tham chiếu bên ngoài vào dự án trọn gói của mình bằng cách sử dụng một trong các lệnh con add. Nhập

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

8 để xem danh sách các lệnh con. Hãy thêm một giải pháp cho gói của chúng tôi.

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. Trong ngăn Trình khám phá giải pháp, hãy thêm giải pháp Dataverse và các tệp khác trong thư mục PkgFolder. Các tệp HTML thuộc thư mục Nội dung. Thông tin thêm về nội dung HTML này sau.
  2. Đối với mỗi tệp bạn thêm, trong ngăn Thuộc tính, hãy đặt giá trị Sao chép vào thư mục đầu ra thành Luôn sao chép. Việc đặt giá trị này sẽ đảm bảo các tệp của bạn có sẵn trong gói đã tạo.

Tiếp theo, cập nhật các tệp cụ thể của ngôn ngữ HTML.

  1. Trong ngăn Trình khám phá giải pháp, mở rộng PkgFolder>Nội dung>en-us. Bạn sẽ tìm thấy hai thư mục được gọi là C:. └───DeploymentPackage
    │   DeploymentPackage.csproj  
    │   PackageImportExtension.cs  
    │  
    └───PkgAssets  
            ImportConfig.xml  
            manifest.ppkg.json  
    

    9 và

    C:. │ Deployment-package.csproj │ Deployment-package.sln │ GettingStarted.html │ PackageTemplate.cs │ ├───PkgFolder │ │ ImportConfig.xml │ │ │ └───Content

    0. Các thư mục này chứa HTML và các tệp liên quan cho phép bạn hiển thị (cho người dùng) thông tin ở cuối và đầu quá trình triển khai gói. Chỉnh sửa các tệp trong thư mục HTML của các thư mục này để thêm thông tin cần hiển thị cho gói của bạn.
  2. Bạn cũng có thể thêm các tệp HTML trong gói của mình bằng các ngôn ngữ khác để nội dung trong HTML xuất hiện bằng ngôn ngữ dựa trên cài đặt ngôn ngữ trên máy tính của người dùng. Để làm như vậy:
    1. Tạo một bản sao của thư mục en-us trong PkgFolder>Nội dung.
    2. Đổi tên thư mục đã sao chép thành ngôn ngữ thích hợp. Ví dụ: đối với ngôn ngữ Tây Ban Nha, đổi tên thành es-ES.
    3. Sửa đổi nội dung của các tệp HTML để thêm nội dung tiếng Tây Ban Nha.

Đặt cấu hình gói

  1. Xác định cấu hình gói bằng cách thêm thông tin về gói của bạn vào tệp ImportConfig.xml trong dự án. Mở tệp để chỉnh sửa. Danh sách sau đây cung cấp thông tin về từng tham số và nút trong tệp cấu hình.

    C:. │ Deployment-package.csproj │ Deployment-package.sln │ GettingStarted.html │ PackageTemplate.cs │ ├───PkgFolder │ │ ImportConfig.xml │ │ │ └───Content

    1

    C:. │ Deployment-package.csproj │ Deployment-package.sln │ GettingStarted.html │ PackageTemplate.cs │ ├───PkgFolder │ │ ImportConfig.xml │ │ │ └───Content

    2 hoặc

    C:. │ Deployment-package.csproj │ Deployment-package.sln │ GettingStarted.html │ PackageTemplate.cs │ ├───PkgFolder │ │ ImportConfig.xml │ │ │ └───Content

    3. Nếu

    C:. │ Deployment-package.csproj │ Deployment-package.sln │ GettingStarted.html │ PackageTemplate.cs │ ├───PkgFolder │ │ ImportConfig.xml │ │ │ └───Content

    4, hãy cài đặt dữ liệu mẫu đến phiên bản Dataverse. Dữ liệu này là cùng một dữ liệu mẫu mà bạn có thể cài đặt từ khu vực Cài đặt>Quản lý dữ liệu trong Dataverse.

    C:. │ Deployment-package.csproj │ Deployment-package.sln │ GettingStarted.html │ PackageTemplate.cs │ ├───PkgFolder │ │ ImportConfig.xml │ │ │ └───Content

    5 True hoặc false. Nếu true và nếu installsamplingata cũng được đặt thành true, hãy chờ dữ liệu mẫu để cài đặt trước khi triển khai gói. Lưu ý Đảm bảo rằng bạn đã đặt installsamplingata thành true nếu bạn đang thiết lập

    C:. │ Deployment-package.csproj │ Deployment-package.sln │ GettingStarted.html │ PackageTemplate.cs │ ├───PkgFolder │ │ ImportConfig.xml │ │ │ └───Content

    5 thành true.

    C:. │ Deployment-package.csproj │ Deployment-package.sln │ GettingStarted.html │ PackageTemplate.cs │ ├───PkgFolder │ │ ImportConfig.xml │ │ │ └───Content

    7 Tên tệp của tệp zip để giải nén. Nếu bạn chỉ định tên tệp .zip ở đây, nó sẽ thêm một màn hình trong quá trình triển khai gói. Màn hình sẽ nhắc bạn chọn một vị trí mà bạn muốn giải nén nội dung của tệp. Thuộc tính này thường được sử dụng để tạo các gói cho Unified Service Desk cho Dynamics 365. Để biết thêm thông tin về Unified Service Desk, hãy xem Hướng dẫn quản trị cho Unified Service Desk 3.0.

    C:. │ Deployment-package.csproj │ Deployment-package.sln │ GettingStarted.html │ PackageTemplate.cs │ ├───PkgFolder │ │ ImportConfig.xml │ │ │ └───Content

    8 Tên của tệp .exe hoặc .msi trong tệp zip hoặc URL sẽ được gọi khi kết thúc quá trình triển khai. Thuộc tính này thường được sử dụng để tạo các gói cho Unified Service Desk.

    C:. │ Deployment-package.csproj │ Deployment-package.sln │ GettingStarted.html │ PackageTemplate.cs │ ├───PkgFolder │ │ ImportConfig.xml │ │ │ └───Content

    9 Tên tệp của tệp dữ liệu cấu hình mặc định (.zip) được xuất bằng Configuration Migration Tool.

    • Bạn cũng có thể nhập phiên bản được bản địa hóa của tệp dữ liệu cấu hình dựa trên ID ngôn ngữ (LCID) được chỉ định bằng thiết đặt thời gian chạy mới trong khi chạy Package Deployer. Sử dụng nút `
      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.

      0 (giải thích sau) để chỉ định các phiên bản được bản địa hóa của tệp dữ liệu cấu hình trong một gói và sau đó sử dụng phương thức

      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 (giải thích sau) để chỉ định logic để nhập tệp dữ liệu cấu hình dựa trên ID ngôn ngữ được chỉ định bằng cài đặt thời gian chạy. Bạn không thể cùng lúc nhập nhiều tệp dữ liệu cấu hình bằng một gói.
    • Dành cho Dataverse (tại chỗ), nếu tệp dữ liệu cấu hình của bạn chứa thông tin người dùng và cả phiên bản Dataverse nguồn và đích nằm trên cùng một miền Active Directory, thông tin người dùng sẽ được nhập vào phiên bản Dataverse đích. Để nhập thông tin người dùng vào phiên bản Dataverse (tại chỗ) trên một tên miền khác, bạn phải bao gồm tệp bản đồ người dùng (.xml) được tạo bằng Configuration Migration Tool trong dự án của bạn và chỉ định nó cùng với tệp dữ liệu cấu hình bằng cách sử dụng thuộc tính

      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.

      2 trong nút

      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.

      0 được giải thích sau. Thông tin người dùng không thể được nhập vào phiên bản Dataverse.
      nút  
      

      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.

      4 Chứa một mảng nút

      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.

      5 mô tả các giải pháp để nhập. Thứ tự của các giải pháp trong nút này cho biết thứ tự các giải pháp sẽ được nhập vào phiên bản Dataverse đích.
      nút  
      

      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.

      5 Sử dụng nút này trong nút

      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.

      4 để chỉ định các giải pháp riêng lẻ và thông tin sau cho mỗi giải pháp được nhập:
    • 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.

      8: Chỉ định tên tệp .zip của giải pháp. Yêu cầu.
    • 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.

      9: Chỉ định xem có ghi đè bất kỳ tùy chỉnh không được quản lý nào không khi nhập giải pháp đã tồn tại trong phiên bản Dynamics 365 đích. Thuộc tính này là tùy chọn và nếu bạn không chỉ định thuộc tính này, theo mặc định, các tùy chỉnh không được quản lý trong giải pháp hiện có sẽ được duy trì trên phiên bản Dynamics 365 đích.
    • 0: Chỉ định xem có phát hành quy trình công việc và kích hoạt phần bổ trợ trong phiên bản Dynamics 365 đích sau khi giải pháp được nhập hay không. Thuộc tính này là tùy chọn và nếu bạn không chỉ định thuộc tính này, theo mặc định, các quy trình công việc được phát hành và các phần bổ trợ được kích hoạt sau khi giải pháp được nhập vào phiên bản Dynamics 365 đích. Bạn có thể thêm nhiều tên tệp giải pháp trong một gói bằng cách thêm bao nhiêu nút

      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.

      5. Ví dụ: nếu bạn muốn nhập ba tệp giải pháp, hãy thêm chúng như cách hiển thị bên dưới:

      nút

      2 Chứa một mảng nút

      3 và

      4 được sử dụng để mô tả các tệp riêng lẻ và tệp zip tương ứng được nhập. nút

      3 Sử dụng nút này trong nút

      3 để mô tả một tệp được nhập vào Dataverse. Bạn có thể thêm nhiều tệp giải pháp trong một gói bằng cách thêm bao nhiêu nút

  2. Dưới đây là danh sách các thuộc tính được hỗ trợ: Đặc điểm Description

    8 Tên của tệp có chứa dữ liệu nhập. Nếu tệp là tệp .zip, một nút

    4 phải có mặt với một nút

    0 cho mỗi tệp trong tệp .zip.

    1 Giá trị này có thể là csv, xml hoặc zip.

    2 Tên của bản đồ dữ liệu nhập Dataverse để sử dụng với tập tin này. Nếu tên trống, hãy cố gắng sử dụng hệ thống đã xác định tên bản đồ dữ liệu cho tệp này.

    3 Có thể là tên của tệp exe trong tệp zip, URL hoặc tệp .msi để cung cấp một liên kết để gọi khi kết thúc quá trình triển khai.

    4 Tên của dấu tách dữ liệu được dùng trong tệp nhập. Các giá trị hợp lệ là dấu nháy đơn hoặc dấu nháy đúp.

    5 Tên của dấu tách trường được dùng trong tệp nhập. Các giá trị hợp lệ là dấu phẩy hoặc dấu hai chấm hoặc dấu nháy đơn.

    6 Cho biết khả năng bật quy tắc phát hiện sự trùng lặp trên dữ liệu nhập. Các giá trị hợp lệ là true hoặc false.

    7 Được sử dụng để biểu thị rằng hàng đầu tiên của tệp nhập chứa tên trường. Các giá trị hợp lệ là

    C:. │ Deployment-package.csproj │ Deployment-package.sln │ GettingStarted.html │ PackageTemplate.cs │ ├───PkgFolder │ │ ImportConfig.xml │ │ │ └───Content

    4 hoặc

    C:. │ Deployment-package.csproj │ Deployment-package.sln │ GettingStarted.html │ PackageTemplate.cs │ ├───PkgFolder │ │ ImportConfig.xml │ │ │ └───Content

  3. ... ...

    0 Cho biết liệu chủ sở hữu của bản ghi trên quá trình nhập có nên là một nhóm hay không. Các giá trị hợp lệ là

    C:. │ Deployment-package.csproj │ Deployment-package.sln │ GettingStarted.html │ PackageTemplate.cs │ ├───PkgFolder │ │ ImportConfig.xml │ │ │ └───Content

    4 hoặc

    C:. │ Deployment-package.csproj │ Deployment-package.sln │ GettingStarted.html │ PackageTemplate.cs │ ├───PkgFolder │ │ ImportConfig.xml │ │ │ └───Content

  4. ... ...

    3 Cho biết ID người dùng sẽ sở hữu các bản ghi. Giá trị mặc định là người dùng hiện đang đăng nhập.

    ... ...

    4 Nếu

    C:. │ Deployment-package.csproj │ Deployment-package.sln │ GettingStarted.html │ PackageTemplate.cs │ ├───PkgFolder │ │ ImportConfig.xml │ │ │ └───Content

    4, hệ thống chờ quá trình nhập hoàn tất trước khi tiến hành. Nếu

    C:. │ Deployment-package.csproj │ Deployment-package.sln │ GettingStarted.html │ PackageTemplate.cs │ ├───PkgFolder │ │ ImportConfig.xml │ │ │ └───Content

    3, hệ thống xếp hàng đợi các công việc và tiếp tục. nút

    4 Nút này chứa một mảng nút

    0 mô tả các tệp có trong tệp zip được sử dụng để nhập vào Dynamics 365. nút

    0 Sử dụng nút này trong nút

    4 để cung cấp thông tin về một tệp riêng lẻ trong tệp .zip được chỉ định trong nút

  5. ... ...

    Các thuộc tính được hỗ trợ sẽ được liệt kê bên dưới: Đặc điểm Description

    8 Tên của tệp có chứa dữ liệu nhập.

    1 Giá trị này có thể là csv hoặc xml.

    3 Có thể là tên của tệp exe trong tệp zip, URL hoặc tệp .msi để cung cấp một liên kết để gọi khi kết thúc quá trình triển khai. nút

    5 Nút này chứa một mảng nút

    6 để nhập. Thứ tự của các tệp bản đồ trong nút này cho biết thứ tự chúng được nhập. Để biết thông tin về bản đồ dữ liệu, hãy xem Tạo bản đồ dữ liệu để nhập. nút

    7 Sử dụng nút này trong nút

    5 để cung cấp thông tin về một tệp bản đồ riêng lẻ để nhập vào Dataverse.

    nút

    9 Nút này chứa một mảng nút

    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.

    0 chứa phiên bản được bản địa hóa của tệp dữ liệu cấu hình sẽ được nhập. nút

    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.

    0 Sử dụng nút này trong nút

    9 để chỉ định tệp dữ liệu cấu hình được bản địa hóa cùng với ID ngôn ngữ (bắt buộc) và tệp bản đồ thông tin người dùng (không bắt buộc). Ví dụ:

    Bạn có thể xác định logic tùy chỉnh của mình trong phương thức

    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 (giải thích sau) để nhập tệp dữ liệu cấu hình được bản địa hóa thay vì tệp mặc định (được chỉ định trong crmmigdataimportfile) dựa trên giá trị ID ngôn ngữ (LCID) được chỉ định bằng thiết đặt thời gian chạy (giải thích sau).
  6. Nhấp vào Lưu tất cả.

    Phần dưới đây đại diện cho nội dung của một tệp

    4 mẫu.

    `

Thêm mã tùy chỉnh

Bạn có thể thêm mã tùy chỉnh thực thi trước, trong và sau khi gói được nhập vào một môi trường. Để làm điều này, hãy làm theo các hướng dẫn sau.

  1. Chỉnh sửa tệp PackageTemplate.cs (hoặc PackageImportExtension.cs) trong thư mục gốc của dự án.
  2. Trong tệp C#, bạn có thể:
    1. Nhập mã tùy chỉnh để thực thi khi gói được khởi tạo trong định nghĩa phương thức ghi đè của

    2. Phương pháp này có thể được sử dụng để cho phép người dùng sử dụng các tham số thời gian chạy trong khi chạy gói. Là nhà phát triển, bạn có thể thêm hỗ trợ cho bất kỳ tham số thời gian chạy nào vào gói của mình bằng cách sử dụng thuộc tính miễn là bạn có mã để xử lý nó dựa trên đầu vào của người dùng. Ví dụ, mã mẫu sau cho phép tham số thời gian chạy được gọi là

      6 cho gói có hai giá trị có thể: true hoặc false. Mã mẫu kiểm tra xem người dùng có chỉ định bất kỳ tham số thời gian chạy nào trong khi chạy Package Deployer không (bằng cách sử dụng dòng lệnh hoặc PowerShell), sau đó xử lý thông tin. Nếu không có tham số thời gian chạy nào được chỉ định bởi người dùng trong khi chạy gói, giá trị của thuộc tính sẽ là null.

      C:. └───DeploymentPackage
         │   DeploymentPackage.csproj  
         │   PackageImportExtension.cs  
         │  
         └───PkgAssets  
                 ImportConfig.xml  
                 manifest.ppkg.json  
      
      0 Mã này cho phép quản trị viên sử dụng dòng lệnh hoặc lệnh ghép ngắn Import-CrmPackage để chỉ định có bỏ qua kiểm tra an toàn trong khi chạy công cụ Package Deployer để nhập gói hay không. Thông tin thêm: Triển khai các gói bằng Package Deployer và Windows PowerShell
    3. Nhập mã tùy chỉnh để thực thi trước khi các giải pháp được nhập trong định nghĩa phương thức ghi đè của

      7 để chỉ định nên duy trì hay ghi đè các tùy chỉnh trong khi cập nhật giải pháp đã chỉ định trong phiên bản Dataverse đích, và có tự động kích hoạt phần bổ trợ và quy trình công việc hay không.
    4. Sử dụng định nghĩa phương thức ghi đè của

      8 để thực hiện chuyển đổi hoặc nâng cấp dữ liệu giữa hai phiên bản của một giải pháp. Phương pháp này chỉ được gọi nếu giải pháp bạn đang nhập đã có trong phiên bản Dataverse đích. Hàm này mong đợi các tham số sau: Tham số Mô tả

      9 Tên giải pháp

      0 Số phiên bản của giải pháp cũ

      1 Số phiên bản của giải pháp mới

      2 GUID của giải pháp cũ.

      3 GUID của giải pháp mới.
    5. Nhập mã tùy chỉnh để thực thi trước khi quá trình nhập giải pháp hoàn tất trong định nghĩa ghi đè của phương thức

      4. Dữ liệu mẫu và một số tệp phẳng cho các giải pháp được chỉ định trong tệp

      4 được nhập trước khi nhập giải pháp hoàn tất.
    6. Ghi đè ngôn ngữ hiện được chọn để nhập dữ liệu cấu hình bằng định nghĩa phương thức ghi đè của `
      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. Nếu không tìm thấy ID ngôn ngữ được chỉ định (LCID) của ngôn ngữ đã chỉ định trong danh sách các ngôn ngữ khả dụng trong gói, tệp dữ liệu mặc định sẽ được nhập. Bạn chỉ định ngôn ngữ có sẵn cho dữ liệu cấu hình trong nút

      9 trong tệp

      4. Tệp nhập dữ liệu cấu hình mặc định được chỉ định trong thuộc tính

      C:. │ Deployment-package.csproj │ Deployment-package.sln │ GettingStarted.html │ PackageTemplate.cs │ ├───PkgFolder │ │ ImportConfig.xml │ │ │ └───Content

      9 trong tệp

    7. Bỏ qua kiểm tra dữ liệu ( = true) có thể có hiệu lực ở đây nếu bạn chắc chắn rằng phiên bản Dataverse đích không chứa bất kỳ dữ liệu nào.
    8. Nhập mã tùy chỉnh để thực thi sau khi quá trình nhập hoàn tất trong định nghĩa ghi đè của phương thức C:. └───DeploymentPackage
         │   DeploymentPackage.csproj  
         │   PackageImportExtension.cs  
         │  
         └───PkgAssets  
                 ImportConfig.xml  
                 manifest.ppkg.json  
      
      01>. Các tệp phẳng còn lại không được nhập trước đó, trước khi bắt đầu nhập giải pháp, được nhập ngay bây giờ.
    9. Thay đổi tên mặc định của thư mục gói của bạn thành tên gói mà bạn muốn. Để làm như vậy, hãy đổi tên thư mục C:. └───DeploymentPackage
         │   DeploymentPackage.csproj  
         │   PackageImportExtension.cs  
         │  
         └───PkgAssets  
                 ImportConfig.xml  
                 manifest.ppkg.json  
      

      02 (hoặc PkgAssets) trong ngăn Trình khám phá giải pháp rồi chỉnh sửa giá trị trả về trong thuộc tính

      C:. └───DeploymentPackage
         │   DeploymentPackage.csproj  
         │   PackageImportExtension.cs  
         │  
         └───PkgAssets  
                 ImportConfig.xml  
                 manifest.ppkg.json  
      
    10. C:. └───DeploymentPackage
         │   DeploymentPackage.csproj  
         │   PackageImportExtension.cs  
         │  
         └───PkgAssets  
                 ImportConfig.xml  
                 manifest.ppkg.json  
      
      1
    11. Thay đổi tên gói bằng cách chỉnh sửa giá trị trả về trong thuộc tính C:. └───DeploymentPackage
         │   DeploymentPackage.csproj  
         │   PackageImportExtension.cs  
         │  
         └───PkgAssets  
                 ImportConfig.xml  
                 manifest.ppkg.json  
      
    12. C:. └───DeploymentPackage
         │   DeploymentPackage.csproj  
         │   PackageImportExtension.cs  
         │  
         └───PkgAssets  
                 ImportConfig.xml  
                 manifest.ppkg.json  
      
      2 Giá trị trả về này là tên gói của bạn sẽ xuất hiện trên trang chọn gói trong trình hướng dẫn Package Deployer của Dynamics 365.
    13. Thay đổi phần mô tả gói bằng cách chỉnh sửa giá trị trả về trong thuộc tính C:. └───DeploymentPackage
         │   DeploymentPackage.csproj  
         │   PackageImportExtension.cs  
         │  
         └───PkgAssets  
                 ImportConfig.xml  
                 manifest.ppkg.json  
      
    14. C:. └───DeploymentPackage
         │   DeploymentPackage.csproj  
         │   PackageImportExtension.cs  
         │  
         └───PkgAssets  
                 ImportConfig.xml  
                 manifest.ppkg.json  
      
      3 Giá trị trả về này là phần mô tả gói sẽ xuất hiện cùng với tên gói trên trang chọn gói trong trình hướng dẫn Package Deployer.
    15. Thay đổi tên dài của gói bằng cách chỉnh sửa giá trị trả về trong thuộc tính C:. └───DeploymentPackage
         │   DeploymentPackage.csproj  
         │   PackageImportExtension.cs  
         │  
         └───PkgAssets  
                 ImportConfig.xml  
                 manifest.ppkg.json  
      
    16. C:. └───DeploymentPackage
         │   DeploymentPackage.csproj  
         │   PackageImportExtension.cs  
         │  
         └───PkgAssets  
                 ImportConfig.xml  
                 manifest.ppkg.json  
      
      4 Tên dài của gói xuất hiện trên trang tiếp theo sau khi bạn đã chọn gói để cài đặt.
  3. Ngoài ra, các hàm và biến sau đây có sẵn cho gói:

    Tên Loại Mô tả Hàm Được sử dụng để tạo một mục tiến trình mới trong giao diện người dùng (UI). Hàm Được sử dụng để cập nhật tiến trình được tạo bởi lệnh gọi đến . ProgressPanelItemStatus là kiểu liệt kê với các giá trị sau: Đang hoạt động = 0 Hoàn thành = 1 Không thành công = 2 Cảnh báo = 3 Không xác định = 4 Hàm Được sử dụng để không nhập trạng thái hiện tại với một thông báo ngoại lệ. Hàm Được sử dụng để xác định xem một vai trò có được liên kết với một nhóm được chỉ định hay không. Hàm Được sử dụng để xác định xem một quy trình công việc có được chỉ định là đang hoạt động hay không. Con trỏ lớp Một con trỏ đến giao diện ghi nhật ký khởi tạo cho gói. Giao diện này được sử dụng bởi một gói để ghi nhật ký tin nhắn và ngoại lệ cho tệp nhật ký gói. Thuộc tính Một giao diện người điều vận được sử dụng để cho phép điều khiển của bạn hiển thị giao diện người dùng của chính nó trong quá trình triển khai gói. Sử dụng giao diện này để bọc bất kỳ thành phần UI hoặc lệnh nào. Điều quan trọng là kiểm tra biến này cho các giá trị null trước khi sử dụng vì biến có thể hoặc không được đặt thành giá trị. Thuộc tính Một con trỏ tới lớp CrmServiceClient cho phép gói xử lý Dynamics 365 từ trong gói. Sử dụng con trỏ này để thực thi các phương thức SDK và các hành động khác trong các phương thức được ghi đè. Thuộc tính Chỉ định xem Package Deployer của Dynamics 365 có bỏ qua tất cả các hoạt động nhập dữ liệu như nhập dữ liệu mẫu Dataverse, dữ liệu tệp phẳng và dữ liệu được xuất từ Configuration Migration Tool hay không. Chỉ định true hoặc false. Mặc định là

    C:. │ Deployment-package.csproj │ Deployment-package.sln │ GettingStarted.html │ PackageTemplate.cs │ ├───PkgFolder │ │ ImportConfig.xml │ │ │ └───Content

    3. Thuộc tính Chỉ định xem Package Deployer của Dynamics 365 có bỏ qua một số kiểm tra an toàn hay không, điều này giúp cải thiện hiệu suất nhập. Chỉ định

    C:. │ Deployment-package.csproj │ Deployment-package.sln │ GettingStarted.html │ PackageTemplate.cs │ ├───PkgFolder │ │ ImportConfig.xml │ │ │ └───Content

    4 hoặc

    C:. │ Deployment-package.csproj │ Deployment-package.sln │ GettingStarted.html │ PackageTemplate.cs │ ├───PkgFolder │ │ ImportConfig.xml │ │ │ └───Content

    3. Mặc định là

    C:. │ Deployment-package.csproj │ Deployment-package.sln │ GettingStarted.html │ PackageTemplate.cs │ ├───PkgFolder │ │ ImportConfig.xml │ │ │ └───Content

  4. Bạn nên đặt thuộc tính này thành

    C:. │ Deployment-package.csproj │ Deployment-package.sln │ GettingStarted.html │ PackageTemplate.cs │ ├───PkgFolder │ │ ImportConfig.xml │ │ │ └───Content

    ` 4 chỉ khi phiên bản Dataverse đích không chứa bất kỳ dữ liệu nào.
  5. Lưu dự án của bạn. Bước tiếp theo là tạo gói.

Tạo và triển khai

Trong các phần sau, chúng tôi sẽ mô tả cách xây dựng và triển khai một gói.

Bản dựng

Quá trình xây dựng gói sẽ được mô tả bên dưới tùy vào công cụ bạn đang sử dụng.

Để xây dựng gói được tạo bằng CLI, bạn có thể tải tệp .csproj vào Visual Studio, nhưng thay vào đó, chúng tôi sẽ sử dụng lệnh dotnet và MSBuild. Ví dụ bên dưới giả sử thư mục làm việc có chứa tệp *.csproj.

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

5

Bạn có thể tùy ý xem thông tin chi tiết của gói đã xây dựng.

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

6

Để xây dựng gói, chỉ cần nhấn F5 trong Visual Studio hoặc chọn Xây dựng>Giải pháp xây dựng.

Gói của bạn được làm từ các tệp sau trong thư mục \Bin\Debug.

  • thư mục: Tên thư mục giống với tên bạn đã thay đổi cho tên thư mục gói ở bước 2.g của phần này . Thư mục này chứa tất cả giải pháp, dữ liệu cấu hình, tệp phẳng và các nội dung cho gói của bạn.

Lưu ý

Bạn có thể thấy thư mục .NET (ví dụ: net472) chứa thư mục pdpublish. DLL của bạn và các tệp dự án khác nằm trong thư mục pdpublish đó.

  • .dll: Cụm có chứa mã tùy chỉnh cho gói của bạn. Theo mặc định, tên của cụm chính là tên dự án của bạn.

Triển khai

Sau khi tạo gói, bạn có thể triển khai gói đó trên phiên bản Dataverse bằng công cụ Package Deployer, Windows PowerShell hoặc lệnh CLI.

  • Để triển khai bằng công cụ Package Deployer, trước tiên hãy tải xuống công cụ như được mô tả trong Dataverse công cụ phát triển. Tiếp theo, hãy làm theo thông tin chi tiết về cách triển khai gói trong chủ đề Triển khai gói bằng Package Deployer hoặc Windows PowerShell.

Để triển khai bằng CLI, hãy sử dụng lệnh

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

12.

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

7

Lưu ý

Để triển khai một gói cho môi trường đích bằng CLI, trước tiên bạn phải thiết lập cấu hình xác thực và chọn một tổ chức. Thông tin thêm: ,