頁面類型 | 語言 | 產品 | 姓名 | 描述 | |||
---|---|---|---|---|---|---|---|
樣本 |
|
| 擴展 Commerce POS、HWS 和 Headless Commerce API 以及 Commerce 運行時。 | 此儲存庫包含有關如何擴展 Dynamics 365 Commerce POS、硬體站、Headless Commerce API 和 Commerce 運行時的範例程式碼。 |
此儲存庫包含有關如何自訂 POS、硬體站 (HWS) 和商務執行時間 (CRT)、無頭商務 API 和通道資料庫的範例程式碼。請注意,這些只是範例,不需要克隆此儲存庫來開發 Dynamics 365 Commerce 擴充。本主題適用於 Dynamics 365 commerce 應用程式版本 10.0.18 或更高版本。
此文件說明了 InStore 範例儲存庫的結構,並說明如何設定儲存庫以引用公共來源中的 Commerce SDK nuget 套件以進行 Dynamics 365 Commerce 擴充開發。請造訪我們的文件網站,以取得有關 Dynamics 365 Commerce 開發的其他資源。
此過程不需要特定的預先配置環境或虛擬機器。開發和測試可以在任何具有相對現代的 Windows 版本的電腦上完成。如果您不需要現代 POS 開發,您可以利用 Windows 10、Windows Server 2016/2019。如果您需要 Sealed Modern POS 開發,請安裝這些先決條件。有關開發環境先決條件的更多詳細信息,請參閱本文
範例 InStore 儲存庫包含 nuget.config、repo.props、CustomizationPackage.props 和建置管道腳本,這些腳本提供有關擴展如何設定儲存庫元資料檔案的指導。
資料夾 | 描述 |
---|---|
硬件站樣品 | 此專案包含有關如何建立硬體站、支付擴充功能和擴充安裝程式的範例。 |
商店商務樣品 | 此資料夾包含演示如何擴展 Store Commerce 應用程式以實現各種自訂場景的範例。 |
包裝樣品 | 此資料夾包含示範如何建立 Commerce SDK 解決方案以便為適當的 Commerce 元件建立套件/安裝程式的範例。 |
管道 | YAML 和 PowerShell 腳本文件 |
Dynamics365Commerce.ScaleUnit 儲存庫包含其他專注於無頭商務擴充開發方案(例如無頭商務 API 和商務運行時)的範例。
此儲存庫中的每個範例都附有一個 readme.md 文件,其中包含以下資訊:
其功能描述
建置和運行範例的步驟
範例中使用的 Commerce API 和擴充點的清單以及它們的用途的描述。
Commerce API 和功能區域相關文件的鏈接
功能的 gif 或螢幕截圖(如果適用)
Commerce 團隊已構建自動化,可驗證此儲存庫中的所有範例是否已成功構建,但這並不能保證這些範例始終能夠構建和運行,而不會出現軟體開發過程中常見的問題。如果您遇到 InStore 範例或 Commerce SDK 的問題,請搜尋此 Github 儲存庫的問題部分,看看它是否是已知問題。可能已經有可用的修復或解決方法。
如果問題部分中沒有列出您的問題,請建立一個新問題,並提供有關您所面臨問題的詳細資訊。這將有助於確保使用 Commerce SDK 和這些範例的每個人都擁有盡可能最佳的體驗,並且所有已知問題都可以在線上搜尋。我們將監控這些問題並儘快提供協助。
注意:為了獲得最佳體驗,請限制使用問題部分來報告 Commerce SDK 和 InStore 範例的問題。
儲存庫中的分支按 Dynamics 365 Commerce 應用程式版本進行組織,儲存庫中的每個分支都指向 Dynamics 365 Commerce 的應用程式版本,請根據您的上線版本使用正確的版本分支。
發布分支名稱 | 版本 | 應用程式發布版本 |
---|---|---|
發布/9.49 | 9.49.* | 10.0.39 |
發布/9.50 | 9.50.* | 10.0.40 |
發布/9.51 | 9.51.* | 10.0.41 |
發布/9.52 | 9.52.* | 10.0.42 |
商務合約、訊息、實體和請求套件在此公共來源中發布,以供商務擴充程式碼使用和自訂現有功能或為 Dynamics 365 Commerce 產品建立新功能。
從該位置使用商務包,擴充功能可以在其擴充項目檔案的 nuget.config 中新增套件來源位置。
<包來源> <新增鍵=“dynamics365-commerce”值=“https://pkgs.dev.azure.com/commerce-partner/Registry/_packaging/dynamics365-commerce/nuget/v3/index.json”/> <新增鍵=“nuget.org”值=“https://api.nuget.org/v3/index.json”/> </包來源>
套餐名稱 | 描述 |
---|---|
Microsoft.Dynamics.Commerce.Sdk.ChannelDatabase | 使用 CSU 產生資料庫包需要此套件。 |
Microsoft.Dynamics.Commerce.Sdk.Runtime | 該軟體包包含所有商業運行時庫 |
Microsoft.Dynamics.Commerce.Sdk.ScaleUnit | 需要此套件來產生用於部署的 CSU 套件。 |
Microsoft.Dynamics.Commerce.Sdk.Installers.ScaleUnit | 需要此套件來產生用於部署的 ScaleUnit 套件 |
Microsoft.Dynamics.Commerce.Sdk.HardwareAndPeripherals | 該套件包含所有商業硬體站和周邊庫 |
Microsoft.Dynamics.Commerce.Sdk.Installers | 該軟體包包含所有安裝程式庫 |
Microsoft.Dynamics.Commerce.Sdk.Installers.HardwareStation | 需要此套件來產生用於部署的硬體站包 |
Microsoft.Dynamics.Commerce.Sdk.Installers.StoreCommerce | 產生 Store Commerce 擴充安裝程式需要此套件。 |
Microsoft.Dynamics.Commerce.Sdk.Pos | 該軟體包包含所有 POS 庫 |
Microsoft.Dynamics.Commerce.Sdk.Installers.ModernPos | 需要此軟體包來產生 POS 擴充功能安裝程式以進行部署 |
Microsoft.Dynamics.Commerce.Diagnostics | 該軟體包包含所有診斷庫 |
Microsoft.Dynamics.Commerce.Runtime.Data | 該套件包含所有數據合約庫 |
Microsoft.Dynamics.Commerce.Runtime.DataServices.Messages | 該套件包含所有數據服務訊息庫 |
Microsoft.Dynamics.Commerce.Runtime.Entities | 該套件包含所有商業實體定義 |
Microsoft.Dynamics.Commerce.Runtime.Framework | 該軟體包包含所有商業框架庫 |
Microsoft.Dynamics.Commerce.Runtime.Hosting.Contracts | 該軟體包包含所有商業控制器庫 |
Microsoft.Dynamics.Commerce.Runtime.Messages | 該套件包含所有商業運行時訊息庫 |
Microsoft.Dynamics.Commerce.Runtime.RealtimeServices.Messages | 該軟體包包含所有商業真實運行時庫 |
Microsoft.Dynamics.Commerce.Runtime.Services.Messages | 該套件包含所有商務服務訊息庫 |
Microsoft.Dynamics.Commerce.HardwareStation.Core | 該軟體包包含所有 HWS 庫 |
Microsoft.Dynamics.Commerce.HardwareStation.PeripheralRequests | 該套件包含所有HWS週邊請求庫 |
Microsoft.Dynamics.Commerce.HardwareStation.Peripherals.Contracts | 該軟體包包含所有 HWS 週邊合約庫 |
Microsoft.Dynamics.Commerce.HardwareStation.Peripherals.Entities | 該套件包含所有HWS週邊實體庫 |
Microsoft.Dynamics.Commerce.Installers.Framework | 該軟體包包含所有安裝程式框架庫 |
Microsoft.Dynamics.Commerce.KeyVault.Contracts | 該軟體包包含所有密鑰保管庫合約庫 |
Microsoft.Dynamics.Commerce.PaymentSDK.Extensions.Portable | 該包包含所有支付擴充庫 |
Microsoft.Dynamics.Commerce.PaymentSDK.Portable | 該套件包含所有支付庫 |
Microsoft.Dynamics.Commerce.Runtime.FIF.Connector.Messages | 該軟體包包含所有 FIF 連接器庫 |
Microsoft.Dynamics.Commerce.Runtime.FIF.DocumentProvider.Messages | 該軟體包包含所有 FIF 文件提供者庫 |
Microsoft.Dynamics.Commerce.Installers.Framework.DatabaseExtensions | 該軟體包包含所有資料庫安裝程式框架庫 |
Microsoft.Dynamics.Commerce.Tools.DbUtilities | 該軟體包包含所有資料庫實用程式庫 |
Microsoft.Dynamics.Commerce.Tools.ExtensionsProxyGenerator.AspNetCore | 該軟體包包含所有擴展代理生成器實用程式 |
Microsoft.Dynamics.Commerce.Proxy.ScaleUnit | 該套件包含擴展應用程式在線上模式下使用 Headless Commerce API(連接到 Headless Commerce)的所有代理程式類別。 |
套餐版本 | 應用程式發布 |
---|---|
9.49.xx-預覽版 | 10.0.39 PEAP 發布 |
9.49.xx | 10.0.39 客戶預覽 |
9.49.xx | 10.0.39 正式發布 |
9.50.xx-預覽版 | 10.0.40 PEAP 發布 |
9.50.xx | 10.0.40 客戶預覽 |
9.50.xx | 10.0.40 正式版 |
9.51.xx-預覽版 | 10.0.41 PEAP 版本 |
9.51.xx | 10.0.41 客戶預覽 |
9.51.xx | 10.0.41 正式發布 |
9.52.xx-預覽版 | 10.0.42 PEAP 版本 |
9.52.xx | 10.0.42 客戶預覽 |
9.52.xx | 10.0.42 正式版 |
擴充項目可以透過將套件參考新增至具有完整版本號的項目來使用正確的版本,或者使用通配符始終取得最新版本,推薦選項是使用完整版本號並根據您的上線版本更新版本。
<PackageReference Include="Microsoft.Dynamics.Commerce.Sdk.Pos" Version="9.52.xx" />
或者
<PackageReference Include="Microsoft.Dynamics.Commerce.Sdk.Pos" Version="9.52.*" />
隨著每個修補程式和新應用程式的發布,新版本的軟體包將發佈在同一公共來源中,根據上線所需的版本使用正確的軟體包版本。使用比上線應用程式版本更高的套件版本可能會導致執行時間和部署失敗。
設定 Azure DevOps 管道以實現建置自動化和套件產生:
為 Commerce SDK 設定建置管道
最佳實務與分支策略:
有關 git 分支策略的詳細資訊請參閱 Git 分支策略文件。
以下分支策略是基於我們在 Microsoft 使用 Git 的方式。有關更多信息,請參閱我們如何在 Microsoft 使用 Git。
保持分支策略簡單。從以下三個概念建立您的策略:
使用功能分支來實現所有新功能和錯誤修復。
使用拉取請求將功能分支合併到主分支。
保持高品質、最新的主分支。
建立一個新的功能分支用於開發和錯誤修復:
為我們的擴充功能建立一個新的功能主分支,遵循正確的命名約定(請參閱 Git 分支文件以取得範例命名約定)
建立一個新的開發分支:
為開發建立一個私有分支:
git checkout -b private/{使用者名稱}/{功能/描述}
使用 git -add 新增變更並將其提交到開發分支。和 git commit -m“提交訊息。”
開發完成、測試和驗證後,透過執行 git push <remote> 將變更推送到主分支。 <分支>
git push origin {私有分支名稱}
開發完成後創建release分支:
將開發變更推送到主分支後,建立新的發布分支,並從發布分支建立可部署的套件。
git checkout -b 發佈/xxx
如果發布分支中進行了任何更改,則將發布分支中的更改合併回主分支。
- git checkout master git merge release/x.x.x
擴充修補程式分支:
與發布分支一樣,從主分支建立用於擴展的修補程式分支並發布修復程序,然後將變更合併回主分支。
將新發布分支合併到主分支和開發分支:
發布新版本的範例後,如果需要,請將您的開發分支與新分支合併。此儲存庫僅包含範例,因此不需要始終從分支取得更新的變更。
- git checkout master git merge release/x.x.x