有没有办法使用 WSP 解决方案和功能在 SharePoint 中自动部署控制适配器(一些菜单修改)?我可以以编程方式编辑/部署一些“.browser”文件吗?
如果不可能,有什么替代方案(一些好的做法)?
我需要这个用于发布网站。
有没有办法使用 WSP 解决方案和功能在 SharePoint 中自动部署控制适配器(一些菜单修改)?我可以以编程方式编辑/部署一些“.browser”文件吗?
如果不可能,有什么替代方案(一些好的做法)?
我需要这个用于发布网站。
你可以给WSPBuilder一个机会。它是一个开源工具包 SharePoint 解决方案。我知道使用 WSPBuilder,您可以将文件部署到应用程序目录 (...\Inetpub\wwwroot\wss\VirtualDirectories\80) 内的 bin 和资源文件夹中。
因此,也许也可以将文件部署到 App_Browsers 文件夹中。我认为值得一试。
此外,使用功能,您始终可以定义一个 FeatureReceiver,它基本上是对开发人员提供的用于处理功能生命周期事件(ee onFeatureInstalled、onFeatureActivated 等)的程序集的标注。在那里您可以编写 .Net 代码与之交互基础设施。
这是一篇解释此任务的文章。您可以将这样的方法添加到您的母版页类中:
private static void AddControlAdapterToType<T>(Type controlType) where T : ControlAdapter, new()
{
if (controlType == null)
{
throw new ArgumentNullException("controlType", "This argument can not be null!");
}
var adapters = HttpContext.Current.Request.Browser.Adapters;
var key = controlType.AssemblyQualifiedName;
if (!adapters.Contains(key))
{
var adapter = typeof(T).AssemblyQualifiedName;
adapters.Add(key, adapter);
}
}
然后从 Master Page 构造函数中调用它,如下所示:
AddControlAdapterToType<YourCustomAdapter>(typeof(Microsoft.SharePoint.WebPartPages.ContentEditorWebPart));