无法为SharePoint项目创建伪造程序集

无法为SharePoint项目创建伪造程序集,sharepoint,sharepoint-2010,sharepoint-2013,microsoft-fakes,Sharepoint,Sharepoint 2010,Sharepoint 2013,Microsoft Fakes,我发现,当尝试为引用某些SharePoint库的SharePoint项目创建伪造程序集时,会出现类似以下错误: Failed to load properly Derived method 'RequiresWebPartClientScript' in type 'Microsoft.Office.Server.Search.WebControls.ScriptWebPart' from assembly 'Microsoft.Office.Server.Search, Version=15.

我发现,当尝试为引用某些SharePoint库的SharePoint项目创建伪造程序集时,会出现类似以下错误:

Failed to load properly Derived method 'RequiresWebPartClientScript' in type 'Microsoft.Office.Server.Search.WebControls.ScriptWebPart' from assembly 'Microsoft.Office.Server.Search, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c' cannot reduce access.    

这通常发生在SharePoint项目引用不在GAC中的库的情况下,例如:Microsoft.SharePoint.ApplicationPagesMicrosoft.ApplicationPages.Administration

此问题似乎是由于伪代码生成器在尝试制造假货。可以通过向将包含fakes程序集的项目中添加对有问题库的引用来解决此问题

例如,如果我有一个项目'My.SharePoint.Stuff',并且我想在项目'My.SharePoint.Stuff.tests'中运行测试,那么我会在My.SharePoint.Stuff.tests中为My.SharePoint.Stuff生成一个伪程序集

如果如上所述失败,解决方案是将错误消息中描述的对程序集的引用添加到My.SharePoint.Project.Tests项目中,然后重新创建伪程序集