SPFolder.Files.Add创建文件但返回null

时间:2010-12-16 08:43:21

标签: .net sharepoint sharepoint-2010

我使用SPFolder.Files对象的Add方法将文件上载到SharePoint 2010中的文档库(http://msdn.microsoft.com/en-us/library/ms472956.aspx)。这很好用,直到有人从现有的库中创建了一个模板(这仍然有效),并从模板中创建了一个新库。

在这个新的库中,Add调用仍然无例外地完成,但确实返回了一个带有Items属性== null的SPFile对象。

在SharePoint UI中,文件不会显示在库中,但是当我通过Microsoft Explorer连接到库时,它就在那里。

我的印象是文件已创建但未创建任何项目。有谁知道这个问题?有解决方案吗?

2 个答案:

答案 0 :(得分:3)

好的,我发现了问题和解决方案(或多或少):

只有在创建模板的库中激活版本控制时才会发生这种情况。它发生在从此模板创建的库中。

要解决此问题,我必须停用新库中的版本控制并再次激活。在此之后,所有丢失的文件都出现了,Add方法再次正常工作。

有人知道这是否是2010年的已知错误,是否有修补程序?

编辑:回答是的,这是一个已知的错误,并且在2010年12月的累积更新中已经修复(我在2011年的cu feb中重新检查,无法重现它。)

答案 1 :(得分:0)

如果启用了版本控制,可能必须在调用Add后签入或发布文件。 (SPFile.CheckIn)