---
title: "Commerce Engineの変更に関するベストプラクティス"
slug: "best-practices-for-modifying-the-commerce-engine"
abstract: "既存のSitecoreを修正するためのベストプラクティスとガイダンスを提供します。Commerce.Engineプロジェクト。"
---
# Commerce Engineの変更に関するベストプラクティス

ほとんどのCommerce実装では、Commerce Engineのカスタマイズは新しいプラグインアセンブリの作成によって行われ、その後Commerce Engineが参照します。

ほとんどの開発シナリオでは、Sitecore.Commerce.Engineプロジェクトの修正は通常以下の点に限定されます。

-   [Commerce Engineのポリシー](https://doc.sitecore.com/xp/ja/developers/101/sitecore-experience-commerce/commerce-engine-policies.html "Commerce Engine policies")の変更は、通常設定によって実現されます。
-   プラグインの [ConfigureSitecore.cs](https://doc.sitecore.com/xp/ja/developers/101/sitecore-experience-commerce/registering-a-custom-commerce-pipeline-or-block.html "Registering a custom Commerce pipeline or block") ファイルによる依存注入による新規プラグインの登録や既存プラグインの修正。

## Sitecore内の参考文献。Commerce.Engineプロジェクト

新しいプラグインを作成したり、既存のプラグインをカスタマイズしたりする際は、Sitecore.Commerce.Engineプロジェクトへの参照を追加しなければなりません。 Sitecore.Commerce.Engineプロジェクトのコンポーネントに参照を追加する際は、ベストプラクティスに従ってください:

-   公式 [Sitecore NuGetフィード](https://nuget.sitecore.com/resources/v3/index.json)を使ってSitecoreプラグインへの参照を追加しましょう。
-   可能な限りNuGet経由でサードパーティアセンブリへの参照を追加してください。
-   プロジェクト参照を使って、自分のソリューション内でカスタムプラグインへの参照を追加してください。

## グローバル環境の設定に関する考慮事項

global.jsonファイルはブートストラップ中に[グローバル環境の設定](https://doc.sitecore.com/xp/ja/developers/101/sitecore-experience-commerce/global-environment-configuration-file.html "Global environment configuration file")に使用され、Commerce Engineの起動と実行に必要な最低限の設定を含みます。

Global.jsonファイルの変更は避けてください。ただし、"policies"コレクションセクションをパラメータ値を変更したり、新しいグローバル構成ポリシーを追加したりする以外は避けてください。

## カスタムエンティティ作成のベストプラクティス

Sitecore XC 9.2以降、商取引エンティティ(CommerceEntity)はGUID UniqueIdとEntityId文字列を持つようになりました。カスタムコマースエンティティを作成する際、SitecoreはGUIDをEntityId値の一部として含めないことを推奨します。なぜなら、ユニークなIDに曖昧さが生じ、エンティティ検索時にエラーが生じる*Not found*可能性があるからです。