サポートされる拡張子
Dynamics 365 Customer Engagement (on-premises) Web アプリケーションで入手できるツール、または Dynamics 365 Customer Engagement Web サービスに説明されているツールを使用して、Dynamics 365 Customer Engagement (on-premises) をカスタマイズすることができます。 これらのカスタマイズはサポートされており、アップグレードが可能です。
ここに記述されている以外の方法を使用して行われたカスタマイズについてはサポートされず、更新時や Dynamics 365 Customer Engagement (on-premises) へのアップグレード時に問題が生じる場合があります。 詳細については、「サポートされていないカスタマイズ」を参照してください。
MSDN などのMicrosoft サイトに公開されている技術資料に記載のトピックは、サポートされていますがアップグレードされない可能性があります。
Dynamics 365 Customer Engagement (on-premises) Web アプリケーションを使用したカスタマイズ
Dynamics 365 Customer Engagement (on-premises) には、カスタマイズに使用できるさまざまなツールが用意されています。 Dynamics 365 Customer Engagement (on-premises) ツールおよび Web アプリケーションを使用したカスタマイズは完全にサポートされており、すべてアップグレード可能です。
次のカスタマイズ方法を使用すると、完全にサポートされるカスタマイズを実行できます。
Web アプリケーションのカスタマイズ ツール。 詳細については、カスタマイズ ガイド (Dynamics 365 Customer Engagement (on-premises)) を参照してください。
Web アプリケーションの設定。 詳細については、Dynamics 365 Customer Engagement (on-premises) の管理を参照してください。
レポート サービス。 詳細については、レポートと分析ガイド (Dynamics 365 Customer Engagement (on-premises)) を参照してください。
Microsoft Office のような外部アプリケーションと連携したフィルター ビューの使用。
Note
完全なサポートとは、開発者サポートでカスタマイズをサポートできること、およびアプリケーション サポートでそれらの変更を実行する顧客をサポートできることを意味します。
Web アプリケーションのカスタマイズ ツールを使用する方法の詳細については、カスタマイズ ガイド (Dynamics 365 Customer Engagement (on-premises)) を参照してください。
Dynamics 365 Customer Engagement (on-premises) SDK を使用したカスタマイズ
Dynamics 365 Customer Engagement Web サービス、技術記事、このサイトのサンプル コードと、Dynamics 365 Customer Engagement (on-premises) 開発者サポート チームによってリリースされる情報は、Dynamics 365 Customer Engagement Web サービスを使用するカスタマイズの領域に含まれます。 具体的な操作とそのサポートおよびアップグレードのレベルは後ほどこのトピックで説明します。
Dynamics 365 Customer Engagement (on-premises) の Web サービス
Web サービスの使用が完全にサポートされます。 これには、探索サービス、組織サービス、組織データ サービス、Web API、および展開サービスが含まれます。 Microsoft では API の下位互換性の維持に努めていますが、機能の追加のために API が変更される場合もあります。 また、エンティティの属性も将来のバージョンで変更される可能性があります。 詳細については、Dynamics 365 Customer Engagement (on-premises)(Web サービス) 用コードの記述 を参照してください。
クライアント側 JavaScript
次の 3 つの領域の Dynamics 365 Customer Engagement (on-premises) 内で JavaScript を使用できます:
フォーム スクリプト イベント ハンドラー: フォーム イベント ハンドラーが JavaScript Web リソースで定義された関数を呼び出すように構成できます。
コマンドバー (リボン) コマンド: JavaScript Web リソース内に定義された関数を呼び出すアクションを定義するために、
<CustomRule>
または<JavaScriptFunction>
要素を使用できます。Web リソースと IFRAME: HTML Web リソース内で JavaScript Web リソースを使用できます。 クロスサイト スクリプトまたはフォームに含まれる HTML Web リソース内のスクリプトを許可するように構成されたIFRAMEは、親参照を介してフォーム内でドキュメント化された
Xrm.Page
またはXrm.Utility
メソッド対話することがあります。Dynamics 365 Customer Engagement (on-premises) アプリケーション ページとのすべての対話は、クライアント API 参照に記載されているメソッドを使用したメソッドを通じてのみ実行する必要があります。 Dynamics 365 Customer Engagement (on-premises) アプリケーション ページのドキュメント オブジェクト モデル(DOM )に直接アクセスすることは、サポートされていません。 フォーム スクリプトおよびコマンドで jQuery を使用することはお勧めしません。 詳細: JavaScript を使用した Customer Engagement (on-premises) でのクライアント スクリプト作成
URL を使用してフォーム、ビュー、ダイアログおよびレポートを開く に記載されている方法を使用して、Dynamics 365 Customer Engagement (on-premises) フォーム、ビュー、ダイアログ、およびレポートを開くことができます。
リボンのカスタマイズ
リボン要素の追加、削除、および非表示を行う RibbonDiffXml
がサポートされています。 Dynamics 365 Customer Engagement (on-premises) で定義されているリボン コマンドの再利用はサポートされますが、使用可能なコマンドは将来的に変更または削除される可能性があります。 リボン コマンドで定義された JavaScript 関数の再利用はサポートされていません。
ソリューション ファイル
アンマネージド ソリューションファイルの変更は、このドキュメントに記載のとおりサポートされています。 次の手順で一定のカスタマイズ タスクが実行できます。
ソリューション コンポーネントをアンマネージド ソリューションとしてエクスポートします。
ソリューション パッケージの内容を抽出します。
customizations.xml ファイルの編集
ソリューション ファイルを再パッケージ化します。
変更後のソリューションをインポートします。
Note
Customizations.xml ファイルに加える変更は、CustomizationsSolution.xsd スキーマに準拠している必要があります。 詳細については、Dynamics 365 Customer Engagement (on-premises) で使用するスキーマ を参照してください。
サポートされているタスクでこの手順が必要なものは次のとおりです。
- リボンのユーザー設定。
- サイトマップを使用したアプリケーション ナビゲーションのカスタマイズ。
- FormXml を使用したフォームおよびダッシュボードのカスタマイズ。
- 保存済みクエリのカスタマイズ。
プラグイン
このドキュメントで説明されているプラグイン メカニズムを使用したユーザー定義によるビジネス ロジックの作成は完全にサポートされており、アップグレード可能です。 この機能は、設置型、IFD、およびオンライン ドキュメントなどのすべての Dynamics 365 Customer Engagement (on-premises) 展開で使用できます。 ただし、プラグインは Dynamics 365 Customer Engagement (on-premises) のサンドボックス (分離モード) で登録および実行のみできます。 詳細: Dynamics 365 Customer Engagement (on-premises) を拡張するためのプラグイン
プラグインおよびユーザー定義ワークフロー活動のアセンブリの %installdir%\server\bin\
フォルダーへの追加は、設置型および IFD サーバー インストール型の Dynamics 365 Customer Engagement (on-premises) のみでサポートされています。
ワークフロー
ワークフロー ルールから呼び出されるユーザー定義ワークフロー活動 (アセンブリ) の作成は完全にサポートされており、アップグレード可能です。 ただし、この機能はDynamics 365 Customer Engagement (on-premises) の設置型、IFD、およびオンラインで使用できます。 ただし、ユーザー定義ワークフロー活動は、Dynamics 365 Customer Engagement (on-premises) のサンドボックス (分離モード) で登録および実行のみできます。 詳細: Customer Engagement のビジネス プロセスを自動化する
XAML ワークフローの編集は完全にサポートされており、アップグレード可能です。 ただし、この機能は設置型および IFD Dynamics 365 Customer Engagement (on-premises) のみで使用できます。 詳細: Customer Engagement (on-premises) でのビジネス プロセスの自動化
.NET Framework バージョンのサポート
次で、Microsoft .NET Framework 4.6.2. を使用して記述されたカスタム コードのサポートに関して考慮すべき事項について説明します。
Dynamics 365 Customer Engagement (on-premises) Web サービスを呼び出す Microsoft .NET Framework 4.6.2 以上を使用して作成された Web サービス クライアントは、Dynamics 365 Customer Engagement (on-premises) で完全にサポートされています。
重要
ユーザー定義のクライアント アプリケーションを作成するには、Microsoft .NET フレームワーク 4.6.2 またはそれ以降を使用します。 Dynamics 365 Customer Engagement (on-premises) バージョン 9 以降は、Transport Level Security (TLS) 1.2 またはそれより優れたセキュリティを使用するアプリケーションのみが接続を許可されます。 TLS 1.2 は .NET Framework 4.5.2 で使用される既定のプロトコルではありませんが、.NET Framework 4.6.2 内にあります。
より高い基準のセキュリティは、現時点では Dynamics 365 Customer Engagement (on-premises) バージョン 9 にのみ適用されます。 ご使用のクライアントが任意のバージョンや展開形式で接続できるように設計されている場合は、.NET Framework 4.6.2 を使用するようアプリケーションを再コンパイルして準備できます。 詳細: ブログ投稿: Dynamics 365 Customer Engagement (on-premises) 接続のセキュリティに関する更新
Dynamics 365 Customer Engagement (on-premises) プラグイン アセンブリまたは Dynamics 365 Customer Engagement (on-premises) ユーザー定義ワークフロー活動として Dynamics 365 Customer Engagement (on-premises) で使用される Microsoft .NET Framework 4.6.2 を使用して作成された .NET アセンブリはすべてサポートされています。
.NET Framework 4.5.2 で作成されたビジュアル化 (グラフ)。
サポートされていないカスタマイズ
このドキュメントで説明されたメソッドまたは Dynamics 365 Customer Engagement (on-premises) のいずれのツールも使用しないで実行された Dynamics 365 Customer Engagement (on-premises) の変更はサポートされず、Dynamics 365 Customer Engagement (on-premises) の更新時またはアップグレード時に保存されません。 このドキュメントおよびサポート ドキュメントに文書化されていないものはすべてサポートされません。 また、サポートされていない変更を加えると、修正プログラムや Service Pack によって更新する際、または Dynamics 365 Customer Engagement (on-premises) をアップグレードする際に問題が生じる可能性があります。 更新時およびアップグレード時の問題を最小限に抑えるため、自分自身で作成した Dynamics 365 Customer Engagement (on-premises) ファイル以外のファイルは一切変更しないでください。
次は、よく質問されるサポートされていない操作の種類の一覧です:
Program Files\Dynamics 365 Customer Engagement (on-premises) にある Dynamics 365 Customer Engagement (on-premises) アプリケーション、Dynamics 365 Customer Engagement (on-premises) ツール、Dynamics 365 Customer Engagement (on-premises) ファイルの
wwwroot
ディレクトリでの、.aspx、.css、.htm、.js、.xml、.jpg、.gif ファイルの変更またはファイルの追加。 ただし、これらのファイルへの変更を行った場合、これらのファイルに変更があったか確認され、上書きされません。Dynamics 365 Customer Engagement (on-premises) Web サイト (ファイルおよび Web サイトの設定) に対する変更。 カスタム アプリケーションは異なる Web サイトにインストールしてください。 これには、Dynamics 365 Server 上のファイルのファイル システムに対するアクセス制御リスト (ACL) も含まれます。
クライアント証明書の使用はサポートされていません。 IIS クライアント証明書を要求するように Dynamics 365 Customer Engagement (on-premises) webサイトを構成した場合、SDK を使用して作成されたどのアプリケーションでも認証が失敗します。
インデックスの追加または更新を除く、データベースの物理スキーマに対する変更。 これには、Web アプリケーションのシステムのカスタマイズ機能やこの SDK ドキュメントで説明しているメタデータ API を使用せずにデータベースに対して実行された操作が含まれます。 データベースのテーブル、ストアド プロシージャ、およびビューの変更はサポートされていません。 参照整合性やアップグレードの問題のため、データベースへのテーブル、ストアド プロシージャ、およびビューの追加もサポートされていません。 Dynamics 365 Customer Engagement (on-premises) のオンプレミスのデプロイでは、インデックスの追加は Microsoft Dynamics 365 Customer Engagement (on-premises) のデプロイと管理のガイドラインに沿ってサポートされています。 これは、すべての Dynamics 365 Customer Engagement (on-premises) データベースおよび Dynamics 365 for Outlook ローカル データベースに適用されます。
重要
システムのカスタマイズ用にサポートされている方法以外を使用してデータベースを変更すると、更新時およびアップグレード時に問題が発生する危険性があります。
SQL コマンドを使用するか、このドキュメントで説明するテクノロジ以外を使用する、Dynamics 365 Customer Engagement (on-premises) データベースのデータ (レコード) 変更。
次を除く Dynamics 365 Customer Engagement (on-premises) のダイナミックリンク ライブラリ (DLL) の参照。
- Microsoft.Crm.Outlook.Sdk.dll
- Microsoft.Crm.Sdk.Proxy.dll
- Microsoft.Xrm.Sdk.dll
- Microsoft.Xrm.Sdk.Data.dll
- Microsoft.Xrm.Sdk.Deployment.dll
- Microsoft.Xrm.Sdk.Workflow.dll
- Microsoft.Xrm.Tooling.Connector.dll
- Microsoft.Xrm.Tooling.CrmConnectControl.dll
- Microsoft.Xrm.Tooling.PackageDeployment.CrmPackageExtentionBase.dll
- Microsoft.Xrm.Tooling.WebResourceUtility.dll
Web API、組織サービス、展開サービス、探索サービス、組織データ サービス の Web サービスにある、文書化されたアプリケーション プログラミング インターフェイス (API) 以外の API の使用。
Dynamics 365 Customer Engagement (on-premises) の外観と動作を再現することを目的とした Dynamics 365 Customer Engagement (on-premises) ユーザー インターフェイス コントロール (グリッド コントロールを含む) の再利用。 これらのコントロールは、アップグレード時に変更または上書きされる場合があります。 Dynamics 365 Customer Engagement (on-premises) のルート インストール フォルダーにある Default.css ファイルを使用または変更しないでください。
リボン コマンドを含む Dynamics 365 Customer Engagement (on-premises) JavaScript コードの再利用。 このコードはアップグレード時に変更または上書きされる場合があります。
Dynamics 365 Customer Engagement (on-premises) フォームに対する変更、Office Outlook への新しいフォーム (カスタム .aspx ページなど) の直接追加、または .pst ファイルの変更。 これらの変更はアップグレードされません。
Dynamics 365 Customer Engagement (on-premises) でサポートされるツールのうち、Dynamics 365 for Outlook でオフラインで使用できるもの以外によるカスタマイズ。
ユーザー定義の HttpModules を使用した HTML/DHTML の Dynamics 365 Customer Engagement (on-premises) フォームへの挿入。
Dynamics 365 Customer Engagement (on-premises) の標準アセンブリ (Microsoft.Crm.*.dll) のプラグイン アセンブリの作成、または
pluginassembly
を作成したプラットフォームのアップデートや削除はサポートされていません。Dynamics 365 Customer Engagement (on-premises) Web サイト内の VDir、および ISV フォルダー内でのインターネット インフォメーション サービス (IIS) アプリケーションの作成はサポートされていません。 <crmwebroot>\ISV フォルダーはサポートされなくなりました。
ソリューション ファイルの編集による、リボン、フォーム、サイトマップ、または保存されたクエリ以外のソリューション コンポーネントの編集はサポートされていません。 詳細については、「カスタマイズ ファイルの編集に関するサポート」を参照してください。 ソリューション ファイルの定義による新しいソリューション コンポーネントの定義はサポートされていません。 ソリューションと共にエクスポートされた Web リソース ファイルの編集はサポートされていません。 「管理ソリューションの保守」に記載されている手順を除いて、マネージド ソリューションの内容の編集はサポートされていません。
Silverlight では、アプリケーションのライブラリのキャッシュ はサポートされていません。
別のエンティティ フォームに埋め込まれた IFrame 内のエンティティ フォームの表示はサポートされていません。
プラグインおよびワークフロー アセンブリには、それぞれの dll 内にすべての必要なロジックが含まれている必要があります。 プラグインはいくつかのコア .Net アセンブリを参照する場合があります。 とはいえ、グラフィックス デザイン インターフェイスなどの下位の Windows API とやり取りする .Net アセンブリへの依存関係はサポートされていません。 以前は Dynamics 365 Customer Engagement ではアセンブリがこれらのインターフェイスを参照することを許可していましたが、セキュリティ標準に準拠するため、この動作への変更が必須です。
関連項目
マネージド コードの開発スタイルを選択する
Dynamics 365 Customer Engagement (on-premises) (Web サービス) 用コードの記述
JavaScript を使用した、Customer Engagement (on-premises) でのクライアント スクリプト