MOSSSampleItemLevelAuditing.exe
激活时出现“值不再预期范围内”错误而无法激活网站集功能。
状况,点击" 激活"按钮可以修改网站标题(添加了“audited”),但程序功能仍处于未激活状态。
分析问题:代码在触发激活事件时出现错误,查看ItemAuditingFeatureReceiver.cs
中 public override void FeatureActivated(SPFeatureReceiverProperties properties)重载功能激活事件
if (!ListExists("AuditLogs", site))
{
//SPListTemplate template = site.ListTemplates["Document Library"];
//Guid docLibID = site.Lists.Add("AuditLogs", "Library for Audit Log Workbooks", template);
//错误:值不在预期的范围内。
//主要是由于代码采用的环境是英文版的MOSS,而本机使用的是中文版的MOSS。
//从而本机只能识别ListTemplates["文档库"],而无法识别ListTemplates["Document Library"]。
//错误解决办法
// 办法1.SPListTemplate template = site.ListTemplates["文档库"];
// Guid docLibID = site.Lists.Add("AuditLogs", "Library for Audit Log Workbooks", template);
// 办法2.Guid docLibID = site.Lists.Add("AuditLogs", "Library for Audit Log Workbooks", SPListTemplateType.DocumentLibrary);
// 办法2能同时兼容中文版和英文版的MOSS环境,建议使用办法2
Guid docLibID = site.Lists.Add("AuditLogs", "Library for Audit Log Workbooks", SPListTemplateType.DocumentLibrary);
SPList docLib = site.Lists[docLibID];
docLib.OnQuickLaunch = true;
docLib.Update();
}