C# 无法在SharePoint中发布文件
当我从代码发布文件时C# 无法在SharePoint中发布文件,c#,sharepoint-2007,C#,Sharepoint 2007,当我从代码发布文件时 byte[] fileBytes = objItem.File.OpenBinary(); string DestinationURL = string.Format(@"{0}/{1}", objDestinationFolder.Url, objItem.File.Name); //Copy the file. SPFile objDestinationFile = objDestinationFolder.Files.Add(DestinationURL, file
byte[] fileBytes = objItem.File.OpenBinary();
string DestinationURL = string.Format(@"{0}/{1}", objDestinationFolder.Url, objItem.File.Name);
//Copy the file.
SPFile objDestinationFile = objDestinationFolder.Files.Add(DestinationURL, fileBytes, true);
objDestinationFile.Update();
objDestinationFile.Publish(string.Format("File Copied from {0}", objItem.Url));
我收到一条错误消息,上面写着
You can only publish, unpublish documents in a minor version enabled list
我检查了列表的权限,并检查了“创建主要和次要(草稿)版本”。有什么想法吗
编辑
如果我通过调用CheckIn方法签入文件
objDestinationFile.CheckIn(string.Format(@"File Copied from {0}/{1}", objItem.Web.Url, objItem.Url));
一切正常我认为文件必须先签入,然后才能发布
因此,在您的情况下,可能会在列表的设置中激活“需要签出”。这意味着,如果上载文档,它将首先被签出。即使在库中启用了次要版本,我也会遇到此错误。原因是我在没有
Type=“GhostableInLibrary”
属性的模块中添加了一个草稿文件。一旦我纠正了这个问题,我的功能接收器就可以发布草稿文件。是的,我必须将其签入,但我发现我不需要发布。