質問

Visual Studio 2008 WebサイトとSharePoint / MOSS 2007で問題が発生しました。以前は2つのWebアプリケーションプロジェクトがSharePoint構造の下に格納されていましたが、プロジェクトファイルとソース管理の性質により、チーム開発環境。ソース管理をTFSに変更する時間があるまで、WebアプリケーションからWebサイトに切り替えてプロジェクトファイルを削除することにしました。すべて正常に動作しますが、Webサイトの1つを手動で構築しようとすると、次のエラーが表示されます。

この式ビルダーを実行するにはSPContextが必要です

Webサイトの性質と、ロード時に必要に応じてコンパイルされるため、これは実際の問題ではありません。しかし、さまざまな理由でビルドを成功させたいと考えているため、開発チームにとっては問題です。

この問題は、使用するカスタム式ビルダーを使用することで発生しますが、実行時に引き続き正常に機能します。エラーが発生するのはコンパイル中のみです。

この問題を克服する方法についての考えやアイデアは大歓迎です。

乾杯、

ブレンダン

正しい解決策はありません

他のヒント

SPContext.Current が使用されている多くのSharePointアプリケーションによって、現在動作しているSharePointコンテキストを判断します。変更により、ビルドプロセスでは明らかにこれが不可能になりました。

1つのオプションは、有効なSPContextが見つからない場合、そのコンテキストを提供するために必要に応じて新しいSPSite / SPWebオブジェクトで作成される保護を組み込むことです。特に、作成したSPSiteおよびSPWebオブジェクト(SPContextを使用する場合には不要なもの)を正しく破棄する必要があるため、式ビルダーの設計方法によっては、再構築が必要になる場合があります。

別のオプションは、 Typemock Isolatorなどのモックフレームワークを使用することです。 。これにより、SPContextのモック/偽造が行われます。ただし、これを使用するには、コードを再設計する必要があります。プラス面では、SPContextのみを使用できます。

scroll top