Seitentyp | Sprachen | Produkte | Name | Beschreibung | |||
---|---|---|---|---|---|---|---|
Probe |
|
| Erweitern Sie die Commerce POS-, HWS- und Headless Commerce-APIs sowie die Commerce-Laufzeit. | Dieses Repository enthält den Beispielcode zur Erweiterung des Dynamics 365 Commerce POS, der Hardwarestation, der Headless Commerce-APIs und der Commerce-Laufzeit. |
Dieses Repo enthält den Beispielcode zum Anpassen von POS, Hardware Station (HWS) und Commerce Runtime (CRT), Headless Commerce APIs und Kanaldatenbank. Bitte beachten Sie, dass es sich lediglich um Beispiele handelt und es nicht erforderlich ist, dieses Repository zu klonen, um Dynamics 365 Commerce-Erweiterungen zu entwickeln. Dieses Thema gilt für die Dynamics 365 Commerce-Anwendungsversion 10.0.18 oder höher.
In dieser Datei wird die Struktur des InStore-Beispiel-Repositorys erläutert und erklärt, wie ein Repository eingerichtet wird, um auf die Commerce SDK-Nuget-Pakete aus dem öffentlichen Feed für die Entwicklung der Dynamics 365 Commerce-Erweiterung zu verweisen. Weitere Ressourcen zur Dynamics 365 Commerce-Entwicklung finden Sie auf unserer Dokumentationsseite.
Für diesen Prozess ist keine bestimmte vorkonfigurierte Umgebung oder virtuelle Maschine erforderlich. Entwicklung und Tests können auf jedem Computer mit einer relativ modernen Windows-Version durchgeführt werden. Wenn Sie keine moderne POS-Entwicklung benötigen, können Sie Windows 10, Windows Server 2016/2019 nutzen. Wenn Sie die Entwicklung von Sealed Modern POS benötigen, installieren Sie diese Voraussetzungen. Weitere Einzelheiten zu den Voraussetzungen für die Entwicklungsumgebung finden Sie in diesem Artikel
Das Beispiel-InStore-Repo enthält nuget.config, repo.props, CustomizationPackage.props und ein Build-Pipeline-Skript, das Anleitungen dazu bietet, wie die Erweiterung die Repo-Metadatendateien einrichten kann.
Ordner | Beschreibung |
---|---|
HardwareStationSample | Dieses Projekt enthält Beispiele zum Erstellen einer Hardwarestation, Zahlungserweiterungen und Erweiterungsinstallationsprogrammen. |
StoreCommerceSamples | Dieser Ordner enthält Beispiele, die zeigen, wie die Store Commerce App erweitert werden kann, um verschiedene Anpassungsszenarien zu realisieren. |
Verpackungsmuster | Dieser Ordner enthält Beispiele, die veranschaulichen, wie Sie Ihre Commerce SDK-Lösung strukturieren, um Pakete/Installationsprogramme für die entsprechenden Commerce-Komponenten zu erstellen. |
Pipeline | YAML- und PowerShell-Skriptdateien |
Das Dynamics365Commerce.ScaleUnit-Repository enthält zusätzliche Beispiele, die sich auf Entwicklungsszenarien für Headless Commerce-Erweiterungen wie Headless Commerce-APIs und Commerce Runtime konzentrieren.
Zu jedem Beispiel in diesem Repo gehört eine Datei readme.md mit den folgenden Informationen:
Eine Beschreibung seiner Funktionalität
Die Schritte zum Erstellen und Ausführen des Beispiels
Die Liste der im Beispiel verwendeten Commerce-APIs und Erweiterungspunkte sowie eine Beschreibung ihrer Funktion.
Ein Link zur relevanten Dokumentation der Commerce-APIs und des Funktionsbereichs
Gegebenenfalls ein GIF oder einen Screenshot der Funktionalität
Das Commerce-Team verfügt über eine Build-Automatisierung, die validiert, dass alle Beispiele in diesem Repo erfolgreich erstellt werden. Dies garantiert jedoch nicht, dass diese Beispiele immer ohne Probleme erstellt und ausgeführt werden, die bei der Softwareentwicklung häufig auftreten. Wenn Sie auf ein Problem mit den InStore-Beispielen oder dem Commerce SDK in stoßen, durchsuchen Sie bitte den Abschnitt „Probleme“ dieses Github-Repos, um zu sehen, ob es sich um ein bekanntes Problem handelt. Möglicherweise ist bereits ein Fix oder eine Problemumgehung verfügbar.
Wenn Ihr Problem im Abschnitt „Probleme“ nicht aufgeführt ist, erstellen Sie bitte ein neues Problem mit Details zu dem Problem, mit dem Sie konfrontiert sind. Dadurch wird sichergestellt, dass jeder, der das Commerce SDK und diese Beispiele verwendet, die bestmögliche Erfahrung macht und alle bekannten Probleme online durchsuchbar sind. Wir werden diese Probleme im Auge behalten und so schnell wie möglich helfen.
Hinweis: Für ein optimales Erlebnis beschränken Sie bitte die Verwendung des Abschnitts „Probleme“, um Probleme mit dem Commerce SDK und den InStore-Beispielen zu melden.
Die Zweige im Repository sind nach der Dynamics 365 Commerce-Anwendungsversion organisiert. Jeder Zweig im Repository verweist auf eine Anwendungsversion von Dynamics 365 Commerce. Verwenden Sie den richtigen Release-Zweig basierend auf Ihrer Go-Live-Version.
Name des Release-Zweigs | Version | Version der Anwendungsfreigabe |
---|---|---|
Veröffentlichung/9.49 | 9.49.* | 10.0.39 |
Veröffentlichung/9.50 | 9,50.* | 10.0.40 |
Version/9.51 | 9.51.* | 10.0.41 |
Release/9.52 | 9.52.* | 10.0.42 |
Commerce-Verträge, Nachrichten, Entitäten und Anforderungspakete werden in diesem öffentlichen Feed für den Commerce-Erweiterungscode veröffentlicht, um vorhandene Funktionen zu nutzen und anzupassen oder neue Funktionen für das Dynamics 365 Commerce-Produkt zu erstellen.
Verbrauchen Sie die Commerce-Pakete von diesem Speicherort aus. Die Erweiterung kann den Paketquellspeicherort in der nuget.config ihrer Erweiterungsprojektdatei hinzufügen.
<Paketquellen> <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>
Paketname | Beschreibung |
---|---|
Microsoft.Dynamics.Commerce.Sdk.ChannelDatabase | Dieses Paket ist erforderlich, um die DB-Pakete mit CSU zu generieren. |
Microsoft.Dynamics.Commerce.Sdk.Runtime | Dieses Paket enthält alle Commerce-Laufzeitbibliotheken |
Microsoft.Dynamics.Commerce.Sdk.ScaleUnit | Dieses Paket ist erforderlich, um das CSU-Paket für die Bereitstellung zu generieren. |
Microsoft.Dynamics.Commerce.Sdk.Installers.ScaleUnit | Dieses Paket ist erforderlich, um das ScaleUnit-Paket für die Bereitstellung zu generieren |
Microsoft.Dynamics.Commerce.Sdk.HardwareAndPeripherals | Dieses Paket enthält alle handelsüblichen Hardwarestations- und Peripheriebibliotheken |
Microsoft.Dynamics.Commerce.Sdk.Installers | Dieses Paket enthält alle Installationsbibliotheken |
Microsoft.Dynamics.Commerce.Sdk.Installers.HardwareStation | Dieses Paket ist erforderlich, um das Hardware-Stationspaket für die Bereitstellung zu generieren |
Microsoft.Dynamics.Commerce.Sdk.Installers.StoreCommerce | Dieses Paket ist erforderlich, um das Installationsprogramm für Store Commerce-Erweiterungen zu generieren. |
Microsoft.Dynamics.Commerce.Sdk.Pos | Dieses Paket enthält alle POS-Bibliotheken |
Microsoft.Dynamics.Commerce.Sdk.Installers.ModernPos | Dieses Paket ist erforderlich, um das POS-Erweiterungsinstallationsprogramm für die Bereitstellung zu generieren |
Microsoft.Dynamics.Commerce.Diagnostics | Dieses Paket enthält alle Diagnosebibliotheken |
Microsoft.Dynamics.Commerce.Runtime.Data | Dieses Paket enthält alle Datenvertragsbibliotheken |
Microsoft.Dynamics.Commerce.Runtime.DataServices.Messages | Dieses Paket enthält alle Nachrichtenbibliotheken der Datendienste |
Microsoft.Dynamics.Commerce.Runtime.Entities | Dieses Paket enthält die Definition aller Handelseinheiten |
Microsoft.Dynamics.Commerce.Runtime.Framework | Dieses Paket enthält alle Commerce-Framework-Bibliotheken |
Microsoft.Dynamics.Commerce.Runtime.Hosting.Contracts | Dieses Paket enthält alle Commerce-Controller-Bibliotheken |
Microsoft.Dynamics.Commerce.Runtime.Messages | Dieses Paket enthält alle Commerce-Laufzeitnachrichtenbibliotheken |
Microsoft.Dynamics.Commerce.Runtime.RealtimeServices.Messages | Dieses Paket enthält alle Commerce-Real-Laufzeitbibliotheken |
Microsoft.Dynamics.Commerce.Runtime.Services.Messages | Dieses Paket enthält alle Nachrichtenbibliotheken des Commerce-Dienstes |
Microsoft.Dynamics.Commerce.HardwareStation.Core | Dieses Paket enthält alle HWS-Bibliotheken |
Microsoft.Dynamics.Commerce.HardwareStation.PeripheralRequests | Dieses Paket enthält alle Anforderungsbibliotheken für HWS-Peripheriegeräte |
Microsoft.Dynamics.Commerce.HardwareStation.Peripherals.Contracts | Dieses Paket enthält alle Vertragsbibliotheken für HWS-Peripheriegeräte |
Microsoft.Dynamics.Commerce.HardwareStation.Peripherals.Entities | Dieses Paket enthält alle Bibliotheken für HWS-Peripheriegeräte |
Microsoft.Dynamics.Commerce.Installers.Framework | Dieses Paket enthält alle Framework-Bibliotheken des Installationsprogramms |
Microsoft.Dynamics.Commerce.KeyVault.Contracts | Dieses Paket enthält alle wichtigen Vault-Vertragsbibliotheken |
Microsoft.Dynamics.Commerce.PaymentSDK.Extensions.Portable | Dieses Paket enthält alle Zahlungserweiterungsbibliotheken |
Microsoft.Dynamics.Commerce.PaymentSDK.Portable | Dieses Paket enthält alle Zahlungsbibliotheken |
Microsoft.Dynamics.Commerce.Runtime.FIF.Connector.Messages | Dieses Paket enthält alle FIF-Connector-Bibliotheken |
Microsoft.Dynamics.Commerce.Runtime.FIF.DocumentProvider.Messages | Dieses Paket enthält alle Bibliotheken des FIF-Dokumentanbieters |
Microsoft.Dynamics.Commerce.Installers.Framework.DatabaseExtensions | Dieses Paket enthält alle Framework-Bibliotheken des Datenbankinstallationsprogramms |
Microsoft.Dynamics.Commerce.Tools.DbUtilities | Dieses Paket enthält alle DB-Dienstprogrammbibliotheken |
Microsoft.Dynamics.Commerce.Tools.ExtensionsProxyGenerator.AspNetCore | Dieses Paket enthält alle Dienstprogramme für den Erweiterungs-Proxy-Generator |
Microsoft.Dynamics.Commerce.Proxy.ScaleUnit | Dieses Paket enthält die gesamte Proxy-Klasse für Erweiterungsanwendungen zur Nutzung der Headless Commerce-APIs im Online-Modus (verbunden mit Headless Commerce). |
Paketversion | Anwendungsfreigabe |
---|---|
9.49.xx-Vorschau | 10.0.39 PEAP-Version |
9.49.xx | 10.0.39 Kundenvorschau |
9.49.xx | 10.0.39 GA |
9.50.xx-Vorschau | 10.0.40 PEAP-Version |
9.50.xx | 10.0.40 Kundenvorschau |
9.50.xx | 10.0.40 GA |
9.51.xx-Vorschau | 10.0.41 PEAP-Version |
9.51.xx | 10.0.41 Kundenvorschau |
9.51.xx | 10.0.41 GA |
9.52.xx-Vorschau | 10.0.42 PEAP-Version |
9.52.xx | 10.0.42 Kundenvorschau |
9.52.xx | 10.0.42 GA |
Das Erweiterungsprojekt kann die richtige Version nutzen, indem Sie den Paketverweis mit der vollständigen Versionsnummer zum Projekt hinzufügen oder Platzhalter verwenden, um immer die neueste Version zu erhalten. Die empfohlene Option besteht darin, die vollständige Versionsnummer zu verwenden und die Version basierend auf Ihrer Go-Live-Version zu aktualisieren .
<PackageReference Include="Microsoft.Dynamics.Commerce.Sdk.Pos " Version="9.52.xx" />
Oder
<PackageReference Include="Microsoft.Dynamics.Commerce.Sdk.Pos " Version="9.52.*" />
Mit jedem Hotfix und jeder neuen Anwendungsversion wird eine neue Version des Pakets im selben öffentlichen Feed veröffentlicht. Nutzen Sie die richtige Paketversion basierend auf der für Ihren Go-Live erforderlichen Version. Die Nutzung der höheren Version des Pakets als Ihrer Go-Live-Anwendungsversion kann zu Laufzeit- und Bereitstellungsfehlern führen.
Richten Sie die Azure DevOps-Pipeline für die Build-Automatisierung und Paketgenerierung ein:
Richten Sie eine Build-Pipeline für das Commerce SDK ein
Best Practices und Verzweigungsstrategien:
Ausführliche Informationen zur Git-Verzweigungsstrategie finden Sie im Dokument zur Git-Verzweigungsstrategie.
Die folgenden Verzweigungsstrategien basieren auf der Art und Weise, wie wir Git hier bei Microsoft verwenden. Weitere Informationen finden Sie unter Wie wir Git bei Microsoft verwenden.
Halten Sie Ihre Filialstrategie einfach. Bauen Sie Ihre Strategie aus diesen drei Konzepten auf:
Verwenden Sie Feature-Zweige für alle neuen Funktionen und Fehlerbehebungen.
Führen Sie Feature-Zweige mithilfe von Pull-Anforderungen in den Hauptzweig zusammen.
Behalten Sie eine qualitativ hochwertige und aktuelle Hauptniederlassung bei.
Erstellen Sie einen neuen Feature-Zweig für Entwicklung und Fehlerbehebungen:
Erstellen Sie einen neuen Feature-Hauptzweig für unsere Erweiterung und befolgen Sie die richtige Namenskonvention (Beispiele für Namenskonventionen finden Sie im Git-Branching-Dokument).
Erstellen Sie einen neuen Entwicklungszweig:
Erstellen Sie einen privaten Zweig für die Entwicklung:
git checkout -b private/{Benutzername}/{Feature/Beschreibung}
Fügen Sie mit git -add neue Änderungen zum Entwicklungszweig hinzu und übernehmen Sie sie. und git commit -m“ Commit-Nachricht.“
Nachdem die Entwicklung abgeschlossen, getestet und validiert ist, übertragen Sie die Änderungen in den Hauptzweig, indem Sie git push <remote> <Zweig>
git push origin {Name des privaten Zweigs}
Erstellen Sie nach der Entwicklung einen Release-Zweig:
Nachdem die Entwicklungsänderungen in den Hauptzweig übertragen wurden, erstellen Sie einen neuen Release-Zweig und erstellen Sie die bereitstellbaren Pakete aus dem Release-Zweig.
Git checkout -b release/xxx
Führen Sie die Änderungen aus dem Release-Zweig wieder in den Hauptzweig ein, wenn im Release-Zweig Änderungen vorgenommen wurden.
- git checkout master git merge release/x.x.x
Erweiterungs-Hotfix-Zweig:
Erstellen Sie wie beim Release-Zweig einen Hotfix-Zweig für die Erweiterung vom Hauptzweig, geben Sie den Fix frei und führen Sie die Änderungen später wieder im Hauptzweig zusammen.
Neuen Release-Zweig mit Haupt- und Entwicklungszweig zusammenführen:
Nachdem eine neue Version der Beispiele veröffentlicht wurde, führen Sie bei Bedarf Ihren Entwicklungszweig mit dem neuen Zweig zusammen. Das Repo enthält nur Beispiele, daher ist es nicht erforderlich, immer die aktualisierten Änderungen aus der Verzweigung abzurufen.
- git checkout master git merge release/x.x.x