为了为站点集合提供 webpart 和自定义 webtemplates,我需要创建自定义组。我通过以下方式做到这一点:
using (SPSite site = properties.Feature.Parent as SPSite)
{
if (site != null)
using (SPWeb rootWeb = site.RootWeb)
{
try
{
rootWeb.AllowUnsafeUpdates = true;
rootWeb.SiteGroups.Add("Admins", site.Owner, site.Owner, "Admins");
try
{
SPGroup sp_grpAdmins = rootWeb.SiteGroups["Admins"];
SPRoleDefinition sp_rldAdmins =
rootWeb.RoleDefinitions.GetByType(SPRoleType.Administrator);
sp_rldAdmins.Name = "Admin rights";
sp_rldAdmins.Description = "all";
rootWeb.RoleDefinitions.Add(sp_rldAdmins);
SPRoleAssignment sp_rlaAdmins = new SPRoleAssignment(sp_grpAdmins);
sp_rlaAdmins.RoleDefinitionBindings.Add(
rootWeb.RoleDefinitions["Admin rights"]);
rootWeb.RoleAssignments.Add(sp_rlaAdmins);
sp_grpAdmins.Update();
rootWeb.Update();
}
catch (ArgumentException argex)
{
}
}
}
如果我在 webpart 中添加此代码(用于调试示例 - 无法让事件接收器进行调试),则会创建该组。您是否知道如何调试功能事件接收器,或者如果存在限制,则无法在功能事件接收器中完成?非常感谢。