如何从 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.Runtimedll并使用

ShimClientRuntimeContext.AllInstances.LoadOf1M0ExpressionOfFuncOfM0ObjectArray<ListItem>((sender, a, b) =>  // Something to be done );

用于垫片目的

【讨论】:

以上是关于如何从 Microsoft.Sharepoint.Client.Web 中填充 Web 类?的主要内容,如果未能解决你的问题,请参考以下文章

caml library

Microsoft Sharepoint Designer如何建站?

SharePoint Server 对象模型(SPSite 和 SPWeb)

SharePoint PeopleEditor控件使用

参考Microsoft.SharePoint.dll

无法解决“Microsoft.SharePoint.Security, Version=15.0.0.0,”与“Microsoft.SharePoint.Security, Version=14.0.