首页 > 解决方案 > 重新初始化 Orchard Core 数据库

问题描述

到目前为止,为了重新初始化 Orchard CMS,我删除了导致 Orchard 显示设置页面的 app_data/Site 文件夹。由于某种原因,这不再起作用,我收到以下错误

System.NullReferenceException: Object reference not set to an instance of an object.
   at YesSql.QueryExtensions.Query[T](ISession session) in C:\projects\yessql-un1yf\src\YesSql.Abstractions\QueryExtensions.cs:line 11
   at OrchardCore.Settings.Services.SiteService.GetSiteSettingsAsync() in C:\projects\orchard2\src\OrchardCore.Modules\OrchardCore.Settings\Services\SiteService.cs:line 48
   at OrchardCore.DisplayManagement.Razor.SiteViewResultFilter.OnResultExecutionAsync(ResultExecutingContext context, ResultExecutionDelegate next) in C:\projects\orchard2\src\OrchardCore\OrchardCore.DisplayManagement\Razor\SiteViewResultFilter.cs:line 24
   at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeNextResultFilterAsync[TFilter,TFilterAsync]()
   at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.Rethrow(ResultExecutedContext context)
   at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.ResultNext[TFilter,TFilterAsync](State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeResultFilters()
   at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeNextResourceFilter()
   at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.Rethrow(ResourceExecutedContext context)
   at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeFilterPipelineAsync()
   at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeAsync()
   at Microsoft.AspNetCore.Builder.RouterMiddleware.Invoke(HttpContext httpContext)
   at Microsoft.Extensions.DependencyInjection.CommitSessionMiddleware.Invoke(HttpContext httpContext) in C:\projects\orchard2\src\OrchardCore\OrchardCore.Data\OrchardCoreBuilderExtensions.cs:line 155
   at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
   at Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware.Invoke(HttpContext context)
   at OrchardCore.Modules.ModularTenantRouterMiddleware.Invoke(HttpContext httpContext) in C:\projects\orchard2\src\OrchardCore\OrchardCore\Modules\ModularTenantRouterMiddleware.cs:line 76
   at OrchardCore.Modules.ModularTenantContainerMiddleware.Invoke(HttpContext httpContext) in C:\projects\orchard2\src\OrchardCore\OrchardCore\Modules\ModularTenantContainerMiddleware.cs:line 100
   at Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware.Invoke(HttpContext context)

如果我只是删除 settings.txt 文件,也会发生这种情况

我的问题是强制果园显示设置页面的最佳方法是什么。我正在运行 1.0.0-beta3-70136

标签: orchardcms

解决方案


该错误是由我注入 Orchard ISiteService 类引起的。不知道为什么,但我删除了 DI 并且错误消失了


推荐阅读