SharePoint でのファーム ソリューションの作成

この記事の SharePoint アドインの部分は、 従来のガイダンスです。 以下の廃止によって、ここで説明する他の API やプラットフォームが廃止されるわけではありません。

重要

SharePoint アドインは、2026 年 4 月 2 日に SharePoint Online のサポートが終了しました。 SharePoint でホストされているアドインとプロバイダーでホストされているアドインはどちらも廃止され、政府機関向けクラウドを含む SharePoint Online では機能しなくなります。 アドインの開発、展開、使用に関するガイダンスは、新しい SharePoint Online ソリューション用ではなく、履歴参照と該当する SharePoint Server シナリオ用に保持されます。

オンプレミスのアプリ カタログを通じて展開された SharePoint Server アドインは、この変更によって廃止されません。 パブリック マーケットプレースからの SharePoint アドインの取得は、SharePoint Server の 2026 年 4 月 2 日に終了しました。

この廃止により、SharePoint REST API、CSOM、JSOM、または SharePoint Framework (SPFx) は廃止されません。 SharePoint Online の場合は、ユーザー インターフェイス拡張機能に SPFx を使用し、外部アプリケーションへの認証に Microsoft Entra ID を使用します。 廃止のお知らせとアドインの移行ガイダンスを参照してください。

ファーム ソリューションを使用した SharePointの管理拡張機能の開発、パッケージ化、展開に関するドキュメントの概要を紹介します。

ファーム ソリューションの概要

SharePointには、SharePoint 管理機能の拡張機能をインストールするための独自のシステムが備わっており、これは他の Windows アプリケーションおよびプラットフォームとは異なります。 MSI ファイルや ClickOnce テクノロジは使用されていません。 代わりに、拡張機能のアセンブリ、XML、その他のファイルが "ソリューション パッケージ" という 1 つのファイルにバンドルされます。 ソリューション パッケージは .cab ベースの形式ですが, .wsp ファイル拡張子を持ちます。 パッケージには、SharePoint 機能とそのすべての子コンポーネントだけでなく SharePoint 機能に展開されていない特定の種類のコンポーネントを含めることができます。 ファーム管理者はファーム レベルの保存場所にパッケージをアップロードして、そこからパッケージを展開して SharePoint 機能をアクティブ化できます。

SharePoint アドインとは異なり、ファーム ソリューションには、SharePoint サーバーに展開され、SharePoint サーバー オブジェクト モデルを呼び出すコードが含まれています。 これらのアセンブリは常に完全信頼で実行されます。 さらに、ファーム ソリューションの機能は、SharePoint アドインの機能の Web サイトの範囲に加えて、サイト コレクション、Web アプリケーション、またはファーム全体の範囲にすることができます。農場ソリューションのこれらの側面により、農場管理者は、よく知られた信頼できるソースからのものでない限り、農場管理者がインストールに消極的になる場合があります。 このため、主にエンド ユーザーが使用するための SharePoint 拡張機能は、ファーム ソリューションではなく、SharePoint アドインとして開発する必要があります。 ファーム ソリューションは、カスタム タイマー ジョブ、Windows PowerShell のカスタム コマンドレット、およびサーバーの全体管理の拡張機能など、SharePoint 管理機能をカスタマイズするのに使用します。 SharePoint アドインの利点とファーム ソリューションの使用方法の詳細については、「 SharePoint アドインと SharePoint ソリューションの比較」を参照してください。

ファーム ソリューションの開発者用ドキュメントの紹介

ファーム ソリューションの開発に関しては、SharePoint 2010 以降ほとんど変わっていないため、このセクションでは SharePoint 2010 SDK へのリンクを示します。 混乱を避けるため、SharePoint 2010 SDK を使用して SharePointの開発を行う際には必ず以下の点に注意してください。

  • SharePoint 2010 SDK の "セキュリティで保護されたソリューション" への参照が多くあります。 カスタム コードを使ったサンドボックス ソリューションは SharePointでは使用されていません。 「コードなし」サンドボックス ソリューションは使用可能です。

  • ファーム ソリューションは主に管理拡張機能に使用するという推奨は、SharePoint 2010 には当てはまりません。 したがって、SharePoint 2010 SDK のサンプルおよびその他のドキュメントの多くが ファーム ソリューションとして展開されているエンドユーザー用拡張機能に関するものになっている可能性があります。

  • SharePoint 2010 SDK の "server-side (サーバー側)" および "server code (サーバー コード)" という語は、SharePoint サーバー オブジェクト モデルを呼び出すコードを示します。 これらの用語はリモート Web サーバー (SharePoint ファームの外部にある Web サーバー) で動作するコードを意味していません。 SharePoint 2010 と SharePoint の両方のリモート Web サーバーから SharePoint を呼び出すコードでは、常に SharePoint クライアント オブジェクト モデルのいずれかが使用されます。 SharePoint 2010 SDK では、そのようなコードは "client-side (クライアント側)" または "client code (クライアント コード)" と呼ばれます。

  • SharePoint 2010 のファーム ソリューションのアセンブリは、コード アクセス セキュリティ (CAS) ポリシーを使用して展開できます。 このポリシーは、SharePoint、すなわち完全信頼で実行される SharePointのファーム ソリューションのすべてのアセンブリで無視されます。

パッケージ化および展開

ファーム ソリューションのパッケージ化、インストール、更新、ローカライズの基本については、「 ソリューションの概要 」および SharePoint 2010 のノード ファーム ソリューションで説明されています。 ファーム ソリューションに含める特定の SharePoint コンポーネントの開発については、SharePoint 2010 SDK の関連ノードで説明されています。 ファーム ソリューション内のほとんどのコンポーネントは、1 つまたは複数のユーザー設定の SharePoint 機能にカプセル化する必要があります。 機能の設計と作成の詳細については、SharePoint 2010 SDK の「 機能の操作 」ノードを参照してください。

管理拡張機能

SharePoint ファームの管理機能の拡張に関するガイダンスは、SharePoint 2010 SDK の Windows SharePoint Services 管理ノードにあります。 このノードには、全体管理の拡張、ユーザー設定の Windows PowerShell コマンドレットの作成、アップグレードおよび移行のカスタマイズ、バックアップのカスタマイズ、および SharePoint イベント ログのカスタマイズに関する説明が含まれています。 1 つのセクションでは、SharePoint ファームの状態とパフォーマンスを測定するシステムのカスタマイズ方法を説明しています。 カスタム タイマー ジョブの作成方法については、「 [方法] すべての Web サーバーでコードを実行する」を参照してください。

このセクションの内容

このセクションのトピックでは、SharePoint ソリューションの開発方法の変更点について説明します。

関連項目