我有一个ClassLibrary访问SharePoint 2010对象模型,作为更大的SP 2010 Sandbox解决方案的一部分。所有项目都以.NET v3.5为目标(不是客户端配置文件)。然后是一个ASP.NET WebApplication项目,用于测试ClassLibrary - 仍然是.NET v3.5。
我正在尝试使用Microsoft Moles来模拟SPContext.Current - 我已经知道并且已经使用过 - 我遇到了这个问题:在每次构建时,moles框架将始终选择Microsoft.SharePoint.Behaviors
用于运行时v4.0.30319的DLL,以便将其复制到MolesAssemblies中。相反,Microsoft.SharePoint.Moles
选择v2.0.50727。
顺便说一句这些只是C:\Program Files\Microsoft Moles\MolesAssemblies\Microsoft.SharePoint\14.0.0.0__71e9bce111e9429c
中的DLL。但我记得在Moles安装期间创建了v4.0和v3.5摩尔。
有没有办法告诉 Moles为运行时v3.5构建和/或复制DLL? 或者,我是否应该建立和存储它们,以便让Moles接收它们?
不知怎的,我还看了一下在构建期间创建的临时选项文件(...\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)。