如何从 Microsoft.Sharepoint.Client.Web 中填充 Web 类?
Posted
技术标签:
【中文标题】如何从 Microsoft.Sharepoint.Client.Web 中填充 Web 类?【英文标题】:How to shim the Web class from Microsoft.Sharepoint.Client.Web? 【发布时间】:2022-01-07 18:35:16 【问题描述】:我有一个接受 Web 类型参数的函数 (Microsoft.Sharepoint.Client.Web)。我需要为此编写测试用例,但不幸的是,根据 Visual Studio,ShimWeb 不是一个东西,它建议我将其更改为 ShimSPWeb,这不是我在这里使用的。如何解决?
MY函数如下:
internal static bool EnsureFolders(string folderAbsolutePath, string folderRelativePath, string listName, ClientContext context, Web targetWeb, List spList)
bool folderExists = false;
Folder folder = null;
folder = targetWeb.GetFolderByServerRelativeUrl(folderAbsolutePath);
context.Load(folder);
// .... something else to be done
提前致谢。
我的单元测试功能是:
[TestMethod]
public void EnsureFolders_ShouldConfirmExistenceOrCreateFolders()
using (ShimsContext.Create())
ShimWeb.AllInstances.GetFolderByServerRelativeUrlString(arg) => ; // this line throws in errors like I mentioned above.
【问题讨论】:
【参考方案1】:需要在引用中添加Microsoft.SharePoint.Client.Runtime
dll并使用
ShimClientRuntimeContext.AllInstances.LoadOf1M0ExpressionOfFuncOfM0ObjectArray<ListItem>((sender, a, b) => // Something to be done );
用于垫片目的
【讨论】:
以上是关于如何从 Microsoft.Sharepoint.Client.Web 中填充 Web 类?的主要内容,如果未能解决你的问题,请参考以下文章
Microsoft Sharepoint Designer如何建站?
SharePoint Server 对象模型(SPSite 和 SPWeb)
无法解决“Microsoft.SharePoint.Security, Version=15.0.0.0,”与“Microsoft.SharePoint.Security, Version=14.0.