在nuget包卸载中从Umbraco 7 Backoffice中删除选项卡

时间:2015-12-16 12:35:00

标签: nuget umbraco nuget-package umbraco7

我的Umbraco插件为Umbraco 7后台的开发人员部分添加了一个标签,我需要在卸载相关的nuget包时删除此标签。

任何人都知道如何做到这一点?

PS。:对于作为本地软件包安装,我有一个应用程序事件处理程序,可以添加和删除此选项卡,如下面的代码所示:

    /// <summary>
    /// Applications the started.
    /// </summary>
    /// <param name="umbracoApplication">The umbraco application.</param>
    /// <param name="applicationContext">The application context.</param>
    protected override void ApplicationStarted(UmbracoApplicationBase umbracoApplication, ApplicationContext applicationContext)
    {
        // Install
        DashboardHelper.EnsureTab("StartupDeveloperDashboardSection", "CleanUp Manager", "/App_Plugins/RB.Umbraco.CleanUpManager/Index.html");

        // Uninstall
        InstalledPackage.BeforeDelete += delegate
        {
            DashboardHelper.RemoveTab("StartupDeveloperDashboardSection", "CleanUp Manager");
        };
    }

我需要在通过nuget卸载它时也这样做。任何想法?

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

安装Uninstall.ps1脚本,以便在卸载软件包时为您执行删除。

Nuget文档参考在这里:

http://docs.nuget.org/Create/Creating-and-Publishing-a-Package#automatically-running-powershell-scripts-during-package-installation-and-removal

但有一些警告 - 如果Project.json引用Nuget包,那么脚本将无法运行。