讨论:为什么Web不行?Console可以?---为什么Document Library不行?Generic List可以?(MOSS2007)
Update 2006-9-8 这个事Beta2的一个Bug,在B2TR中修复了,B2TR的下载马上会公布
-----------------------------------------------------------------------
最近两天,被MOSS2007下代码添加文档库折磨得体无完肤。你说,在代码里面你表面上看,他的确没有啥问题,一运行就有问题,这个郁闷?不知道其他的朋友有没有碰到过呢?MOSS2007下,用SPList.Add添加文档库会出现奇怪的问题的。下面详细说说:
一、为什么Web不行?Console可以?
1)Web下
在Visual Studio中建立一个Web工程,界面如下:
代码如下:
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
运行出现问题如下:
但是,虽然出错,Demo文档库其实已经创建出来:
2)Console下
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
代码功能和Web下一样,运行成功!
为什么Web不行?Console可以?
二、为什么Document Library不行?Custom List可以?
改变以上Web工程中的一句代码,改成添加自定义列表
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
运行成功:
在SharePoint站点中出现创建的列表
为什么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。
大家有什么答案的话请不吝赐教!
现在阶段,利用代码添加文档库的办法,我是这么干:
{
mysite.RootWeb.Lists.Add("Demo", "Demo", SPListTemplateType.DocumentLibrary);
}
catch
{}
加上Try-Catch,因为其实文档库已经存在了。