您需要在应用程序生命周期的开始时调用Kentico.Web.Mvc.ApplicationBuilder实例的'UsePreview'方法

问题描述

我正在尝试通过Kentico MedioClinic教程学习开发。我试图按照每个步骤进行操作,但是我坚持在这里

我在标题搜索了问题,首先我尝试添加

    // Registers enabled bundles
    BundleConfig.RegisterBundles(BundleTable.Bundles);

    // Dependency injection
    AutofacConfig.ConfigureContainer();

文档提示,但出现相同错误

有什么建议吗?Error screenshot

编辑:我尝试了推荐的解决方案,但他们没有解决它。 Global.asax和ApplicationConfig如下:

Global.asax

ApplicationConfig

解决方法

您似乎没有在注册Kentico“功能”。

在/ App_Start文件夹下添加一个名为ApplicationConfig.cs的新.cs文件。在其中注册您的功能,如下所示:

public static void RegisterFeatures(IApplicationBuilder builder)
{
    // Enable required Kentico features

    builder.UsePreview();

    builder.UsePageBuilder(new PageBuilderOptions()
    {
        RegisterDefaultSection = true
    });

    builder.UseResourceSharingWithAdministration();

    RegisterPageTemplateFilters();
}

    private static void RegisterPageTemplateFilters()
    {
        //Enabled,This must be last
        //PageBuilderFilters.PageTemplates.Add(new EmptyPageTemplateFilter());

        //Disabled
        PageBuilderFilters.PageTemplates.Add(new NoEmptyPageTemplateFilter());
    }

然后在Global.asax.cs Application_Start()中,在注册路线/捆绑服务的上方添加以下行:

ApplicationConfig.RegisterFeatures(ApplicationBuilder.Current);

这应该可以解决您遇到的问题。