тип_страницы | языки | продукты | имя | описание | |||
---|---|---|---|---|---|---|---|
образец |
|
| Расширьте API-интерфейсы Commerce POS, HWS и Headless Commerce, а также среду выполнения Commerce. | Этот репозиторий содержит пример кода о том, как расширить POS-терминал Dynamics 365 Commerce, станцию оборудования, API-интерфейсы Headless Commerce и среду выполнения Commerce. |
Этот репозиторий содержит пример кода для настройки POS, Hardware Station (HWS) и среды выполнения Commerce (CRT), API-интерфейсов Headless Commerce и базы данных каналов. Обратите внимание, что это только примеры, и для разработки расширений Dynamics 365 Commerce клонировать этот репозиторий не требуется. Этот раздел относится к коммерческому приложению Dynamics 365 версии 10.0.18 или более поздней.
В этом файле объясняется структура репозитория образцов InStore и объясняется, как настроить репозиторий для ссылки на пакеты nuget Commerce SDK из общедоступного канала для разработки расширений Dynamics 365 Commerce. Посетите наш сайт документации для получения дополнительных ресурсов о разработке Dynamics 365 Commerce.
Этот процесс не требует определенной предварительно настроенной среды или виртуальной машины. Разработку и тестирование можно проводить на любой машине с относительно современной версией Windows. Если вам не требуется разработка Modern 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 содержит дополнительные примеры, посвященные сценариям разработки расширений Headless Commerce, таким как API-интерфейсы Headless Commerce и Commerce Runtime.
Каждый образец в этом репозитории сопровождается файлом readme.md со следующей информацией:
Описание его функционала
Действия по созданию и запуску примера
Список API-интерфейсов Commerce и точек расширения, использованных в примере, и описание того, что они делают.
Ссылка на соответствующую документацию по API Commerce и области функций.
Гифка или скриншот функциональности, если применимо.
Команда 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 своего файла проекта расширения.
<источники пакетов> <add key="dynamics365-commerce" value="https://pkgs.dev.azure.com/commerce-partner/Registry/_packaging/dynamics365-commerce/nuget/v3/index.json" /> <add key="nuget.org" value="https://api.nuget.org/v3/index.json" /> </packageSources>
Имя пакета | Описание |
---|---|
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 | Этот пакет содержит все классы прокси для приложений расширения, позволяющих использовать API-интерфейсы Headless Commerce в онлайн-режиме (подключенном к Headless Commerce). |
Версия пакета | Релиз приложения |
---|---|
9.49.xx-превью | Версия 10.0.39 PEAP |
9.49.хх | 10.0.39 Предварительный просмотр для клиента |
9.49.хх | 10.0.39 г. |
9.50.xx-превью | Версия 10.0.40 PEAP |
9.50.хх | 10.0.40 Предварительный просмотр для клиента |
9.50.хх | 10.0.40 ГА |
9.51.xx-превью | Версия 10.0.41 PEAP |
9.51.хх | 10.0.41 Предварительный просмотр для клиента |
9.51.хх | 10.0.41 г. |
9.52.xx-превью | Версия 10.0.42 PEAP |
9.52.хх | 10.0.42 Предварительный просмотр для клиента |
9.52.хх | 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.
Следующие стратегии ветвления основаны на том, как мы используем Git здесь, в Microsoft. Дополнительные сведения см. в разделе «Как мы используем Git в Microsoft».
Держите стратегию вашего филиала простой. Постройте свою стратегию на основе этих трех концепций:
Используйте ветки функций для всех новых функций и исправлений ошибок.
Объедините ветки функций в основную с помощью запросов на включение.
Поддерживайте качественную и актуальную основную ветку.
Создайте новую ветку функций для разработки и исправления ошибок:
Создайте новую основную ветку функции для нашего расширения, следуя правильному соглашению об именах (пример соглашения об именах см. в документации по ветвлениям Git).
Создайте новую ветку разработки:
Создайте приватную ветку для разработки:
git checkout -b Private/{имя пользователя}/{функция/описание}
Добавьте и зафиксируйте новые изменения в ветке разработки с помощью git -add. и git commit -m "сообщение о фиксации."
После завершения, тестирования и проверки разработки отправьте изменения в основную ветку, выполнив git push <remote> <филиал>
git push origin {имя частной ветки}
Создайте ветку выпуска после разработки:
После того, как изменения разработки будут перенесены в основную ветку, создайте новую ветку выпуска и создайте развертываемые пакеты из ветки выпуска.
Git checkout -b релиз/xxx
Объедините изменения из ветки выпуска обратно в основную ветку, если в ветке выпуска были внесены какие-либо изменения.
- git checkout master git merge release/x.x.x
Ветка исправления расширения:
Как и ветка выпуска, создайте ветку исправлений для расширения из основной ветки, выпустите исправление, а затем объедините изменения обратно в основную ветку.
Объединить новую ветку выпуска с основной веткой и веткой разработки:
После выхода новой версии образцов при необходимости объедините свою ветку разработки с новой веткой. Репозиторий содержит только образцы, поэтому не обязательно всегда получать обновленные изменения из ветки.
- git checkout master git merge release/x.x.x