在val c1 = new C(1)
assert(c1 + 1 == 2)
中,我具有多个历史版本的文件。我想删除所有文件的版本历史记录,但是api重新运行了我,我们有0个文件版本。为什么这样?
Sharepoint
答案 0 :(得分:1)
奇怪...我认为代码似乎还不错:)。也许只是一件小事,我不确定它是否能解决问题,但我会先将一些变量初始化为file.Versions,然后再对该变量执行工作。像这样:
var versions = file.Versions;
ctx.Load(file);
ctx.Load(versions);
ctx.ExecuteQuery();
foreach (FileVersion fileVersion in versions)
{
// check
}
我知道...可能不是这个。.但是总是值得检查的:)。
还请确保运行此代码的帐户具有获取版本所需的权限。您可以始终使用网络凭据定义该帐户,例如:
ctx.Credentials = new NetworkCredential(_username, _password, _domain);
答案 1 :(得分:1)
var file = ctx.Web.GetFileByServerRelativeUrl(item.FieldValues["FileRef"].ToString());
您正在使用GetFileBy ServerRelativeUrl ,但您正在传递文件名。使用ServerRelativeUrl,您应该可以。