大規模な SP 2010 サンドボックス ソリューションの一部として、SharePoint 2010 オブジェクト モデルにアクセスする ClassLibrary があります。すべてのプロジェクトは、.NET v3.5 (クライアント プロファイルではありません) を対象としています。次に、ClassLibrary をテストするために使用される ASP.NET WebApplication プロジェクトがあります。まだ .NET v3.5 です。
SPContext.Current をモックするために Microsoft Moles を使用しようとしています。これは既に知っていて使用したことがありますが、この問題に遭遇しました。ビルドごとに、moles フレームワークは常にMicrosoft.SharePoint.Behaviors
ランタイム v4.0.30319 の DLL を順番に選択します。 MolesAssemblies にコピーします。代わりに、Microsoft.SharePoint.Moles
v2.0.50727 を選択します。
ちなみに、これらは にある DLL にすぎませんC:\Program Files\Microsoft Moles\MolesAssemblies\Microsoft.SharePoint\14.0.0.0__71e9bce111e9429c
。しかし、Moles のインストール中に、v4.0 と v3.5 の両方の Moles が作成されたことを覚えています。
Moles にランタイム v3.5 の DLL をビルドおよび/またはコピーするように指示する方法はありますか? それとも、ほくろがそれらを拾うことができるように、それらを構築して保管する特別な場所はありますか?
どういうわけか、build( ...\obj\Debug\Moles\moles.args
) 中に作成された一時オプション ファイルも調べましたが、最後のオプションは実際には/clrversion:v2.0.50727 /clrversion2 /targetframeworkversion:v3.5
.
環境: Windows 7 64 ビット、VS 2010 SP1、Moles v0.94.51023.0 - .NET v4.0.30319 (Moles のみインストール、Pex なし)。