【发布时间】:2019-04-04 07:29:14
【问题描述】:
通过 C#,我正在尝试从 SharePoint (SharePoint 2016) 下载文件。以下是我正在使用的代码:
site = new ClientContext(url);
//credential setting has no issues. So I am skipping it. I am using NetworkCredentials
site.Load(web);
site.ExecuteQuery();
List list = web.Lists.GetByTitle("Documents");
site.Load(list);
site.ExecuteQuery();
site.Load(list.RootFolder);
site.ExecuteQuery();
site.Load(list.RootFolder.Folders);
site.ExecuteQuery();
Folder folder = web.GetFolderByServerRelativeUrl(sharePointPath);
site.Load(folder);
site.ExecuteQuery();
site.Load(folder.Files);
site.ExecuteQuery();
在执行最后一个“site.ExecuteQuery()”时,抛出异常:
ExceptionMessage: File not found
at Microsoft.SharePoint.Client.ClientRequest.ProcessResponseStream
但是,该路径中有文件,我们可以使用相同的凭据手动上传和下载。 URL、路径等已经过双重检查,没有问题。 当我打印“folder.ItemCount”时,它正在打印正确的编号。文件夹中的文件。只有在 ExecuteQuery 加载文件时,才会抛出异常。
构建设置:.NET 框架 4.5 和 x64
在其他帖子中,人们建议更改为 .NET 3.5,但它适用于 SharePoint 2010。此外,将其更改为 3.5 最终会导致很多构建错误。
请帮忙解决这个问题。
【问题讨论】:
标签: c# sharepoint automation