MenuItemDefinition 属性 "requiredPermissionName" 在 5.2.0 版本(和预发布版)中缺失

MenuItemDefinition property "requiredPermissionName" is missing from 5.2.0 release (and pre-release)

最新版本 (5.2.0) 中似乎有重大变化

要复制:

  1. 下载 mvc 核心的最新稳定模板
  2. 将所有 nuget 包更新到最新的稳定版

属性requiredPermissionName不再可用

任何克服的步骤将不胜感激...

来自模板的示例代码 (.net core MVC)

public class GpNavigationProvider : NavigationProvider
{
    public override void SetNavigation(INavigationProviderContext context)
    {
        context.Manager.MainMenu
            .AddItem(
                new MenuItemDefinition(
                    PageNames.Home,
                    L("HomePage"),
                    url: "",
                    icon: "home",
                    requiresAuthentication: true
                )
            ).AddItem(
                new MenuItemDefinition(
                    PageNames.Tenants,
                    L("Tenants"),
                    url: "Tenants",
                    icon: "business",
                    requiredPermissionName: PermissionNames.Pages_Tenants
                )

编译错误:

Severity Code Description Project File Line Suppression State Error CS1739
The best overload for 'MenuItemDefinition' does not have a parameter named 'requiredPermissionName'
....1.1\aspnet-core\src\Gp.Web.Mvc\Startup\GpNavigationProvider.cs 29 Active

变化很简单:

// requiredPermissionName: PermissionNames.Pages_Tenants,
permissionDependency: new SimplePermissionDependency(PermissionNames.Pages_Tenants),

requiredPermissionName 已于 2017 年 7 月在 2.2 版中弃用。

在昨天发布的5.2版本中被删除,历经3个大版本和2.5年多。

参考文献: