サンドボックス ソリューションとファーム ソリューションの違い

SharePoint ソリューションをコンパイルすると、SharePoint サーバーに配置され、デバッグするためにデバッガーがアタッチされます。 ソリューションのデバッグに使用されるプロセスは、サンドボックス ソリューションのプロパティの設定 (サンドボックス ソリューションまたはファーム ソリューション) によって異なります。

詳細については、「サンドボックス ソリューションに関する考慮事項」を参照してください。

ファーム ソリューション

ファーム ソリューションは、IIS ワーカー プロセス (W3WP.exe) でホストされ、ファーム全体に影響を与える可能性のあるコードを実行します。 [サンドボックス ソリューション] プロパティが "ファーム ソリューション" に設定されている SharePoint プロジェクトをデバッグする場合、システムの IIS アプリケーション プールは、SharePoint が機能を取り消すか配置する前にリサイクルして、IIS ワーカー プロセスによってロックされているすべてのファイルを解放します。 SharePoint プロジェクトのサイト URL で使用されている IIS アプリケーション プールのみがリサイクルされます。

サンドボックス ソリューション

サンドボックス ソリューションは、SharePoint ユーザー コード ソリューションのワーカー プロセス (SPUCWorkerProcess.exe) でホストされ、ソリューションのサイト コレクションにのみ影響を与えることができるコードを実行します。 サンドボックス ソリューションは IIS ワーカー プロセスでは実行されないため、IIS アプリケーション プールも IIS サーバーも再起動する必要はありません。 Visual Studio では、SharePoint の SPUserCodeV4 サービスが自動的にトリガーおよび制御する SPUCWorkerProcess プロセスにデバッガーをアタッチします。 SPUCWorkerProcess プロセスをリサイクルして最新バージョンのソリューションを読み込む必要はありません。

両方の種類のソリューション

どちらのソリューションの種類でも、Visual Studio ではデバッガーをブラウザーにアタッチして、クライアント側のスクリプトのデバッグを有効にします。 Visual Studio では、この目的のためにスクリプト デバッグ エンジンを使用します。 スクリプトのデバッグを有効にするには、プロンプトが表示されたときに既定のブラウザーの設定を変更する必要があります。

Visual Studio では、現在のサイトを実行している W3WP または SPUCWorkerProcess プロセスにのみデバッガーをアタッチします。 また、Visual Studio では、マネージド COM Plus とワークフロー デバッグ エンジンもアタッチします。