Update 2006-9-8 这个事Beta2的一个Bug,在B2TR中修复了,B2TR的下载马上会公布
-----------------------------------------------------------------------
最近两天,被MOSS2007下代码添加文档库折磨得体无完肤。你说,在代码里面你表面上看,他的确没有啥问题,一运行就有问题,这个郁闷?不知道其他的朋友有没有碰到过呢?MOSS2007下,用SPList.Add添加文档库会出现奇怪的问题的。下面详细说说:

一、为什么Web不行?Console可以?
1)Web下
在Visual Studio中建立一个Web工程,界面如下:
 讨论:为什么Web不行?Console可以?---为什么Document Library不行?Generic List可以?(MOSS2007)
代码如下:

讨论:为什么Web不行?Console可以?---为什么Document Library不行?Generic List可以?(MOSS2007)public partial class _Default : System.Web.UI.Page 
}

运行出现问题如下:
 讨论:为什么Web不行?Console可以?---为什么Document Library不行?Generic List可以?(MOSS2007)
但是,虽然出错,Demo文档库其实已经创建出来:
 讨论:为什么Web不行?Console可以?---为什么Document Library不行?Generic List可以?(MOSS2007)
2)Console下

讨论:为什么Web不行?Console可以?---为什么Document Library不行?Generic List可以?(MOSS2007)SPSite mysite = new SPSite("http://oss2007");
讨论:为什么Web不行?Console可以?---为什么Document Library不行?Generic List可以?(MOSS2007)            mysite.AllowUnsafeUpdates 
= true;
讨论:为什么Web不行?Console可以?---为什么Document Library不行?Generic List可以?(MOSS2007)            mysite.RootWeb.AllowUnsafeUpdates 
= true;
讨论:为什么Web不行?Console可以?---为什么Document Library不行?Generic List可以?(MOSS2007)            mysite.RootWeb.Lists.Add(
"Demo""Demo", SPListTemplateType.DocumentLibrary);
讨论:为什么Web不行?Console可以?---为什么Document Library不行?Generic List可以?(MOSS2007)Console.WriteLine(
"The Created Document Library's Guid :"+mysite.RootWeb.Lists["Demo"].ID.ToString());
讨论:为什么Web不行?Console可以?---为什么Document Library不行?Generic List可以?(MOSS2007)

代码功能和Web下一样,运行成功!
 讨论:为什么Web不行?Console可以?---为什么Document Library不行?Generic List可以?(MOSS2007)
为什么Web不行?Console可以?

二、为什么Document Library不行?Custom List可以?
改变以上Web工程中的一句代码,改成添加自定义列表

讨论:为什么Web不行?Console可以?---为什么Document Library不行?Generic List可以?(MOSS2007)mysite.RootWeb.Lists.Add("Demo""Demo", SPListTemplateType.GenericList);
讨论:为什么Web不行?Console可以?---为什么Document Library不行?Generic List可以?(MOSS2007)

运行成功:
 讨论:为什么Web不行?Console可以?---为什么Document Library不行?Generic List可以?(MOSS2007)
在SharePoint站点中出现创建的列表
 讨论:为什么Web不行?Console可以?---为什么Document Library不行?Generic List可以?(MOSS2007)
为什么Document Library不行?Generic List就可以?

三、讨论
1)这个是不是WSS V3 Beta的一个Bug?我也不知道
2)Web下和Console下都用的应该是管理员权限,Web用了localhost访问,所以应该不是权限的问题;
2)从出错的地方看,可能是Feature或者WorkFlow的问题,但是Document Library和Generic List是同属于一个基类,问题的可能就是处在Generic List和Document Library不同的地方,所以这个问题的解决可以从Document Library 和Generic List两种ListTemplate的不同上来找。

问题的出处会继续寻找,得到了答案会更新post。

大家有什么答案的话请不吝赐教!

现在阶段,利用代码添加文档库的办法,我是这么干:

try
{
mysite.RootWeb.Lists.Add(
"Demo""Demo", SPListTemplateType.DocumentLibrary);
}
catch
{}

加上Try-Catch,因为其实文档库已经存在了。

相关文章:

  • 2022-12-23
  • 2021-09-03
  • 2021-05-14
  • 2022-12-23
  • 2021-08-20
  • 2021-06-29
  • 2021-12-22
猜你喜欢
  • 2022-12-23
  • 2021-11-20
  • 2021-11-28
  • 2021-09-21
  • 2021-05-07
  • 2021-04-27
  • 2021-09-16
相关资源
相似解决方案