Open Closed

qgApoZ2OmDdJqiAoXp5.L4ObZ82mStp54vqoB0A is not a valid page error #3301


0
Tony_Albutt created
  • ABP Framework version: v5.3.0
  • UI type: MVC
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): no
  • Exception message and stack trace:
  • Steps to reproduce the issue:"

I have updated my solution from version 5.1.4 to version 5.3.0

I have made too many changes and commits to roll back to version 5.2

The application runs in the development environment, but reports an error when deployed.

This is the line that throws the error

await app.InitializeApplicationAsync();

This is line 38 in ITX.Web\Program.cs

What can I do the fix this Regards Tony

This is from the log file

2022-06-22 09:40:02.562 +02:00 [INF] Starting IdentityServer4 version 4.1.2+997a6cdd643e46cd5762b710c4ddc43574cbec2e
2022-06-22 09:40:05.038 +02:00 [WRN] Savepoints are disabled because Multiple Active Result Sets (MARS) is enabled. If 'SaveChanges' fails, then the transaction cannot be automatically rolled back to a known clean state. Instead, the transaction should be rolled back by the application before retrying 'SaveChanges'. See https://go.microsoft.com/fwlink/?linkid=2149338 for more information. To identify the code which triggers this warning, call 'ConfigureWarnings(w => w.Throw(SqlServerEventId.SavepointsDisabledBecauseOfMARS))'.
2022-06-22 09:40:05.179 +02:00 [INF] Using the default authentication scheme Identity.Application for IdentityServer
2022-06-22 09:40:05.349 +02:00 [WRN] Using an in-memory repository. Keys will not be persisted to storage.
2022-06-22 09:40:05.349 +02:00 [WRN] Neither user profile nor HKLM registry available. Using an ephemeral key repository. Protected data will be unavailable when application exits.
2022-06-22 09:40:06.770 +02:00 [FTL] Host terminated unexpectedly!
Volo.Abp.AbpInitializationException: An error occurred during the initialize Volo.Abp.Modularity.OnApplicationInitializationModuleLifecycleContributor phase of the module ITX.Web.ITXWebModule, ITX.Web, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null: The type 'qgApoZ2OmDdJqiAoXp5.L4ObZ82mStp54vqoB0A' is not a valid page. A page must define a public, non-static 'Model' property.. See the inner exception for details.
 ---> System.InvalidOperationException: The type 'qgApoZ2OmDdJqiAoXp5.L4ObZ82mStp54vqoB0A' is not a valid page. A page must define a public, non-static 'Model' property.
   at Microsoft.AspNetCore.Mvc.ApplicationModels.DefaultPageApplicationModelProvider.CreateModel(PageActionDescriptor actionDescriptor, TypeInfo pageTypeInfo)
   at Microsoft.AspNetCore.Mvc.ApplicationModels.DefaultPageApplicationModelProvider.OnProvidersExecuting(PageApplicationModelProviderContext context)
   at Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure.CompiledPageActionDescriptorFactory.CreateCompiledDescriptor(PageActionDescriptor actionDescriptor, CompiledViewDescriptor viewDescriptor)
   at Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure.CompiledPageActionDescriptorProvider.OnProvidersExecuting(ActionDescriptorProviderContext context)
   at Microsoft.AspNetCore.Mvc.Infrastructure.DefaultActionDescriptorCollectionProvider.UpdateCollection()
   at Microsoft.AspNetCore.Mvc.Infrastructure.DefaultActionDescriptorCollectionProvider.Initialize()
   at Microsoft.AspNetCore.Mvc.Routing.ActionEndpointDataSourceBase.<>c__DisplayClass11_0.<Subscribe>b__0()
   at Microsoft.Extensions.Primitives.ChangeToken.OnChange(Func`1 changeTokenProducer, Action changeTokenConsumer)
   at Microsoft.AspNetCore.Mvc.Routing.ActionEndpointDataSourceBase.Subscribe()
   at Microsoft.AspNetCore.Mvc.Routing.ControllerActionEndpointDataSource..ctor(ControllerActionEndpointDataSourceIdProvider dataSourceIdProvider, IActionDescriptorCollectionProvider actions, ActionEndpointFactory endpointFactory, OrderedEndpointsSequenceProvider orderSequence)
   at Microsoft.AspNetCore.Builder.ControllerEndpointRouteBuilderExtensions.GetOrCreateDataSource(IEndpointRouteBuilder endpoints)
   at Microsoft.AspNetCore.Builder.ControllerEndpointRouteBuilderExtensions.MapControllerRoute(IEndpointRouteBuilder endpoints, String name, String pattern, Object defaults, Object constraints, Object dataTokens)
   at Volo.Abp.AspNetCore.Mvc.AbpAspNetCoreMvcModule.&lt;&gt;c.&lt;ConfigureServices&gt;b__1_10(EndpointRouteBuilderContext endpointContext)
   at Microsoft.AspNetCore.Builder.AbpAspNetCoreApplicationBuilderExtensions.&lt;&gt;c__DisplayClass0_0.&lt;UseConfiguredEndpoints&gt;b__0(IEndpointRouteBuilder endpoints)
   at Microsoft.AspNetCore.Builder.EndpointRoutingApplicationBuilderExtensions.UseEndpoints(IApplicationBuilder builder, Action`1 configure)
   at Microsoft.AspNetCore.Builder.AbpAspNetCoreApplicationBuilderExtensions.UseConfiguredEndpoints(IApplicationBuilder app, Action`1 additionalConfigurationAction)
   at ITX.Web.ITXWebModule.OnApplicationInitialization(ApplicationInitializationContext context) in C:\Users\antho\source\repos\ITX_New\ITX\aspnet-core\src\ITX.Web\ITXWebModule.cs:line 456
   at Volo.Abp.Modularity.AbpModule.OnApplicationInitializationAsync(ApplicationInitializationContext context)
   at Volo.Abp.Modularity.OnApplicationInitializationModuleLifecycleContributor.InitializeAsync(ApplicationInitializationContext context, IAbpModule module)
   at Volo.Abp.Modularity.ModuleManager.InitializeModulesAsync(ApplicationInitializationContext context)
   --- End of inner exception stack trace ---
   at Volo.Abp.Modularity.ModuleManager.InitializeModulesAsync(ApplicationInitializationContext context)
   at Volo.Abp.AbpApplicationBase.InitializeModulesAsync()
   at Volo.Abp.AbpApplicationWithExternalServiceProvider.InitializeAsync(IServiceProvider serviceProvider)
   at Microsoft.AspNetCore.Builder.AbpApplicationBuilderExtensions.InitializeApplicationAsync(IApplicationBuilder app)
   at ITX.Web.Program.Main(String[] args) in C:\Users\antho\source\repos\ITX_New\ITX\aspnet-core\src\ITX.Web\Program.cs:line 38

18 Answer(s)
  • 0
    EngincanV created
    Support Team

    Hi, if it's possible can you share the content of the ITXWebModule class?

  • 0
    Tony_Albutt created

    Hi

    Please cee code below

    Thanks.

    split into 3 posts

  • 0
    Tony_Albutt created

    Hi

    Thanks

    The page won't submit with the file contents. content too long.

    Will add a few posts

    1...

    using System.IO;
    using Microsoft.AspNetCore.Authentication.Google;
    using Microsoft.AspNetCore.Builder;
    using Microsoft.AspNetCore.Hosting;
    using Microsoft.AspNetCore.Mvc.RazorPages;
    using Microsoft.Extensions.Configuration;
    using Microsoft.Extensions.DependencyInjection;
    using Microsoft.Extensions.Hosting;
    using ITX.EntityFrameworkCore;
    using ITX.Localization;
    using ITX.MultiTenancy;
    using ITX.Permissions;
    using ITX.Web.Menus;
    using Microsoft.OpenApi.Models;
    using Volo.Abp;
    using Volo.Abp.Account.Admin.Web;
    using Volo.Abp.Account.Public.Web;
    using Volo.Abp.Account.Public.Web.ExternalProviders;
    using Volo.Abp.Account.Web;
    using Volo.Abp.AspNetCore.Mvc;
    using Volo.Abp.AspNetCore.Mvc.Localization;
    using Volo.Abp.AspNetCore.Mvc.UI;
    using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap;
    using Volo.Abp.AspNetCore.Mvc.UI.Theme.Commercial;
    using Volo.Abp.AspNetCore.Mvc.UI.Theme.Lepton;
    using Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared;
    using Volo.Abp.AuditLogging.Web;
    using Volo.Abp.Autofac;
    using Volo.Abp.AutoMapper;
    using Volo.Abp.Identity.Web;
    using Volo.Abp.IdentityServer.Web;
    using Volo.Abp.LanguageManagement;
    using Volo.Abp.LeptonTheme.Management;
    using Volo.Abp.Modularity;
    using Volo.Abp.PermissionManagement.Web;
    using Volo.Abp.TextTemplateManagement.Web;
    using Volo.Abp.UI.Navigation.Urls;
    using Volo.Abp.UI;
    using Volo.Abp.UI.Navigation;
    using Volo.Abp.VirtualFileSystem;
    using Volo.Saas.Host;
    using System;
    using Microsoft.AspNetCore.Authentication.MicrosoftAccount;
    using Microsoft.AspNetCore.Authentication.Twitter;
    using ITX.Web.HealthChecks;
    using Volo.Abp.AspNetCore.Mvc.UI.Bundling;
    using Volo.Abp.AspNetCore.Mvc.UI.Theme.Lepton.Bundling;
    using Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Toolbars;
    using Volo.Abp.AspNetCore.Serilog;
    using Volo.Abp.Swashbuckle;
    using Volo.CmsKit.Pro.Admin.Web;
    using Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Bundling;
    using ITX.Web.Bundling;
    using Volo.Abp.AspNetCore.Mvc.UI.Components.LayoutHook;
    using ITX.Web.Components.SyncfusionJs;
    using ITX.Web.Components.CustomJS;
    using Volo.Abp.Auditing;
    using Volo.Chat;
    using Volo.Chat.Web;
    using Bidvest.Web;
    using Thomalex.Web;
    using System.IdentityModel.Tokens.Jwt;
    using System.Security.Claims;
    using Microsoft.IdentityModel.Protocols.OpenIdConnect;
    using Microsoft.AspNetCore.Authentication.OpenIdConnect;
    using Microsoft.AspNetCore.Authentication;
    using System.Linq;
    using Microsoft.AspNetCore.Cors;
    using ITX.Web.Pages.Shared.Components.Notification;
    //using Volo.Abp.TextTemplating;
    
    namespace ITX.Web
    {
        [DependsOn(
            typeof(ITXHttpApiModule),
            typeof(ITXApplicationModule),
            typeof(ITXEntityFrameworkCoreDbMigrationsModule),
            typeof(AbpAutofacModule),
            typeof(AbpIdentityWebModule),
            typeof(AbpAccountPublicWebIdentityServerModule),
            typeof(AbpAuditLoggingWebModule),
            typeof(LeptonThemeManagementWebModule),
            typeof(SaasHostWebModule),
            typeof(AbpAccountAdminWebModule),
            typeof(AbpIdentityServerWebModule),
            typeof(LanguageManagementWebModule),
            typeof(AbpAspNetCoreMvcUiLeptonThemeModule),
            typeof(TextTemplateManagementWebModule),
            typeof(CmsKitProAdminWebModule),
            typeof(AbpSwashbuckleModule),
            typeof(AbpAspNetCoreSerilogModule)
            )]
        [DependsOn(typeof(ChatSignalRModule))]
        [DependsOn(typeof(ChatWebModule))]
        [DependsOn(typeof(AbpAccountPublicWebModule))]
        [DependsOn(typeof(BidvestWebModule))]
        [DependsOn(typeof(ThomalexWebModule))]
        //[DependsOn(typeof(AbpTextTemplatingModule))]
        public class ITXWebModule : AbpModule
        {
    
            private const string DefaultCorsPolicyName = "Default";
    
            public override void PreConfigureServices(ServiceConfigurationContext context)
            {
                context.Services.PreConfigure<AbpMvcDataAnnotationsLocalizationOptions>(options =>
                {
                    options.AddAssemblyResource(
                        typeof(ITXResource),
                        typeof(ITXDomainModule).Assembly,
                        typeof(ITXDomainSharedModule).Assembly,
                        typeof(ITXApplicationModule).Assembly,
                        typeof(ITXApplicationContractsModule).Assembly,
                        typeof(ITXWebModule).Assembly
                    );
                });
            }
    
            public override void ConfigureServices(ServiceConfigurationContext context)
            {
                var hostingEnvironment = context.Services.GetHostingEnvironment();
                var configuration = context.Services.GetConfiguration();
    
                ConfigureBundles();
                ConfigureUrls(configuration);
                ConfigurePages(configuration);
                ConfigureAuthentication(context, configuration);
                ConfigureAutoMapper();
                ConfigureVirtualFileSystem(hostingEnvironment);
                ConfigureNavigationServices();
                ConfigureAutoApiControllers();
                ConfigureCors(context, configuration);
                ConfigureSwaggerServices(context.Services);
                ConfigureExternalProviders(context);
                ConfigureHealthChecks(context);
                Configure<AbpBundlingOptions>(options =>
                {
                    options
                        .StyleBundles
                        .Get(StandardBundles.Styles.Global)
                        .AddContributors(typeof(SyncfusionStyleContributor))
                        .AddContributors(typeof(CustomStyleContributor));
                });
    
                Configure<AbpLayoutHookOptions>(options =>
                {
                    options.Add(
                        LayoutHooks.Head.Last,
                        typeof(SyncfusionJsViewComponent)
                    );
                    options.Add(
                        LayoutHooks.Head.Last,
                        typeof(CustomJsViewComponent)
                    );
                });
    
                Configure<AbpAuditingOptions>(options =>
                {
                    options.IsEnabled = true; //Disables the auditing system = false
                });
            }
    
            private void ConfigureHealthChecks(ServiceConfigurationContext context)
            {
                context.Services.AddITXHealthChecks();
            }
    
            private void ConfigureBundles()
            {
                Configure<AbpBundlingOptions>(options =>
                {
                    options.StyleBundles.Configure(
                        LeptonThemeBundles.Styles.Global,
                        bundle =>
                        {
                            bundle.AddFiles("/global-styles.css");
                        }
                    );
                });
            }
    
  • 0
    Tony_Albutt created

    2...

            private void ConfigurePages(IConfiguration configuration)
            {
                Configure<RazorPagesOptions>(options =>
                {
                    options.Conventions.AuthorizePage("/HostDashboard", ITXPermissions.Dashboard.Host);
                    options.Conventions.AuthorizePage("/TenantDashboard", ITXPermissions.Dashboard.Tenant);
                    options.Conventions.AuthorizePage("/TravelDashboard", ITXPermissions.Dashboard.Travel);
                    options.Conventions.AuthorizePage("/MyDashboard", ITXPermissions.Dashboard.MyDashboard);
                    options.Conventions.AuthorizePage("/GeoNames/Index", ITXPermissions.GeoNames.Default);
                    options.Conventions.AuthorizePage("/Workflows/Index", ITXPermissions.Workflows.Default);
                    options.Conventions.AuthorizePage("/TableKeys/Index", ITXPermissions.TableKeys.Default);
                    options.Conventions.AuthorizePage("/SegmentCategories/Index", ITXPermissions.SegmentCategories.Default);
                    options.Conventions.AuthorizePage("/DueDateMethods/Index", ITXPermissions.DueDateMethods.Default);
                    options.Conventions.AuthorizePage("/Currencies/Index", ITXPermissions.Currencies.Default);
                    options.Conventions.AuthorizePage("/Companies/Index", ITXPermissions.Companies.Default);
                    options.Conventions.AuthorizePage("/CategoryTypes/Index", ITXPermissions.CategoryTypes.Default);
                    options.Conventions.AuthorizePage("/BookingInfos/Index", ITXPermissions.BookingInfos.Default);
                    options.Conventions.AuthorizePage("/Assistants/Index", ITXPermissions.Assistants.Default);
                    options.Conventions.AuthorizePage("/Proxies/Index", ITXPermissions.Proxies.Default);
                    options.Conventions.AuthorizePage("/Segment01s/Index", ITXPermissions.Segment01s.Default);
                    options.Conventions.AuthorizePage("/Segment02s/Index", ITXPermissions.Segment02s.Default);
                    options.Conventions.AuthorizePage("/Segment03s/Index", ITXPermissions.Segment03s.Default);
                    options.Conventions.AuthorizePage("/Segment04s/Index", ITXPermissions.Segment04s.Default);
                    options.Conventions.AuthorizePage("/Segment05s/Index", ITXPermissions.Segment05s.Default);
                    options.Conventions.AuthorizePage("/Segment06s/Index", ITXPermissions.Segment06s.Default);
                    options.Conventions.AuthorizePage("/Segment07s/Index", ITXPermissions.Segment07s.Default);
                    options.Conventions.AuthorizePage("/Segment08s/Index", ITXPermissions.Segment08s.Default);
                    options.Conventions.AuthorizePage("/Segment09s/Index", ITXPermissions.Segment09s.Default);
                    options.Conventions.AuthorizePage("/AccountSegments/Index", ITXPermissions.AccountSegments.Default);
                    options.Conventions.AuthorizePage("/Employees/Index", ITXPermissions.Employees.Default);
                    options.Conventions.AuthorizePage("/TaxTypes/Index", ITXPermissions.TaxTypes.Default);
                    options.Conventions.AuthorizePage("/TravelRequests/Index", ITXPermissions.TravelRequests.Default);
                    options.Conventions.AuthorizePage("/TravelTaxes/Index", ITXPermissions.TravelTaxes.Default);
                    options.Conventions.AuthorizePage("/TravelCosts/Index", ITXPermissions.TravelCosts.Default);
                    options.Conventions.AuthorizePage("/CostAllocations/Index", ITXPermissions.CostAllocations.Default);
                    options.Conventions.AuthorizePage("/TravelApprovals/Index", ITXPermissions.TravelApprovals.Default);
                    options.Conventions.AuthorizePage("/ResvoyageSettingss/Index", ITXPermissions.ResvoyageSettingss.Default);
                    options.Conventions.AuthorizePage("/Travellers/Index", ITXPermissions.Travellers.Default);
                    options.Conventions.AuthorizePage("/TravelBookings/Index", ITXPermissions.TravelBookings.Default);
                    options.Conventions.AuthorizePage("/Categories/Index", ITXPermissions.Categories.Default);
                    options.Conventions.AuthorizePage("/ReportGroups/Index", ITXPermissions.ReportGroups.Default);
                    options.Conventions.AuthorizePage("/ExchangeRates/Index", ITXPermissions.ExchangeRates.Default);
                    options.Conventions.AuthorizePage("/Items/Index", ITXPermissions.Items.Default);
                    options.Conventions.AuthorizePage("/Customers/Index", ITXPermissions.Customers.Default);
                    options.Conventions.AuthorizePage("/Suppliers/Index", ITXPermissions.Suppliers.Default);
                    options.Conventions.AuthorizePage("/Trips/Index", ITXPermissions.Trips.Default);
                    options.Conventions.AuthorizePage("/RequestSegments/Index", ITXPermissions.RequestSegments.Default);
                    options.Conventions.AuthorizePage("/Accounts/Index", ITXPermissions.Accounts.Default);
                    options.Conventions.AuthorizePage("/Requests/Index", ITXPermissions.Requests.Default);
                    options.Conventions.AuthorizePage("/TrAuditTrails/Index", ITXPermissions.TrAuditTrails.Default);
                    options.Conventions.AuthorizePage("/AirportCodes/Index", ITXPermissions.AirportCodes.Default);
                    options.Conventions.AuthorizePage("/FlightSegments/Index", ITXPermissions.FlightSegments.Default);
                    options.Conventions.AuthorizePage("/HotelSegments/Index", ITXPermissions.HotelSegments.Default);
                    options.Conventions.AuthorizePage("/CarSegments/Index", ITXPermissions.CarSegments.Default);
                    options.Conventions.AuthorizePage("/Countries/Index", ITXPermissions.Countries.Default);
                    options.Conventions.AuthorizePage("/ApprovalRules/Index", ITXPermissions.ApprovalRules.Default);
                    options.Conventions.AuthorizePage("/CostAllocationDefaults/Index", ITXPermissions.CostAllocationDefaults.Default);
                    options.Conventions.AuthorizePage("/BookingRequests/Index", ITXPermissions.BookingRequests.Default);
                    options.Conventions.AuthorizePage("/Associates/Index", ITXPermissions.Associates.Default);
                    options.Conventions.AuthorizePage("/SegmentAccounts/Index", ITXPermissions.SegmentAccounts.Default);
                    options.Conventions.AuthorizePage("/TravellerProfiles/Index", ITXPermissions.TravellerProfiles.Default);
                    options.Conventions.AuthorizePage("/ExpenseTypes/Index", ITXPermissions.ExpenseTypes.Default);
                    options.Conventions.AuthorizePage("/PaymentTypes/Index", ITXPermissions.PaymentTypes.Default);
                    options.Conventions.AuthorizePage("/TravelExpenses/Index", ITXPermissions.TravelExpenses.Default);
                    options.Conventions.AuthorizePage("/ExpenseItems/Index", ITXPermissions.ExpenseItems.Default);
                    options.Conventions.AuthorizePage("/Notes/Index", ITXPermissions.Notes.Default);
                    options.Conventions.AuthorizePage("/Attachments/Index", ITXPermissions.Attachments.Default);
                    options.Conventions.AuthorizePage("/TravelDataWarehouses/Index", ITXPermissions.TravelDataWarehouses.Default);
                    options.Conventions.AuthorizePage("/AccountingPeriods/Index", ITXPermissions.AccountingPeriods.Default);
                    options.Conventions.AuthorizePage("/Notifications/Index", ITXPermissions.Notifications.Default);
                    options.Conventions.AuthorizePage("/TenantsAssociations/Index", ITXPermissions.TenantsAssociations.Default);
                    options.Conventions.AuthorizePage("/MarketPlaces/Index", ITXPermissions.MarketPlaces.Default);
                });
            }
    
            private void ConfigureUrls(IConfiguration configuration)
            {
                Configure<AppUrlOptions>(options =>
                {
                    options.Applications["MVC"].RootUrl = configuration["App:SelfUrl"];
                });
            }
    
            private void ConfigureAuthentication(ServiceConfigurationContext context, IConfiguration configuration)
            {
                JwtSecurityTokenHandler.DefaultInboundClaimTypeMap.Clear();
                JwtSecurityTokenHandler.DefaultInboundClaimTypeMap.Add("sub", ClaimTypes.NameIdentifier);
    
                context.Services.AddAuthentication()
                    .AddJwtBearer(options =>
                    {
                        options.Authority = configuration["AuthServer:Authority"];
                        options.RequireHttpsMetadata = Convert.ToBoolean(configuration["AuthServer:RequireHttpsMetadata"]);
                        options.Audience = "ITX";
                    })
                   .AddOpenIdConnect("AzureOpenId", "Microsoft", options =>
                   {
                       options.Authority = "https://login.microsoftonline.com/" + configuration["AzureAd:TenantId"] + "/v2.0/";
                       options.ClientId = configuration["AzureAd:ClientId"];
                       options.ResponseType = OpenIdConnectResponseType.CodeIdToken;
                       options.CallbackPath = configuration["AzureAd:CallbackPath"];
                       options.ClientSecret = configuration["AzureAd:ClientSecret"];
                       options.RequireHttpsMetadata = false;
                       options.SaveTokens = true;
                       options.GetClaimsFromUserInfoEndpoint = true;
                       options.Scope.Add("email");
    
                       options.ClaimActions.MapJsonKey(ClaimTypes.NameIdentifier, "sub");
                   });
            }
    
            private void ConfigureAutoMapper()
            {
                Configure<AbpAutoMapperOptions>(options =>
                {
                    options.AddMaps<ITXWebModule>();
                });
            }
    
            private void ConfigureVirtualFileSystem(IWebHostEnvironment hostingEnvironment)
            {
                Configure<AbpVirtualFileSystemOptions>(options =>
                {
                    options.FileSets.AddEmbedded<ITXWebModule>();
    
                    if (hostingEnvironment.IsDevelopment())
                    {
                        options.FileSets.ReplaceEmbeddedByPhysical<ITXDomainSharedModule>(Path.Combine(hostingEnvironment.ContentRootPath, string.Format("..{0}ITX.Domain.Shared", Path.DirectorySeparatorChar)));
                        options.FileSets.ReplaceEmbeddedByPhysical<ITXDomainModule>(Path.Combine(hostingEnvironment.ContentRootPath, string.Format("..{0}ITX.Domain", Path.DirectorySeparatorChar)));
                        options.FileSets.ReplaceEmbeddedByPhysical<ITXApplicationContractsModule>(Path.Combine(hostingEnvironment.ContentRootPath, string.Format("..{0}ITX.Application.Contracts", Path.DirectorySeparatorChar)));
                        options.FileSets.ReplaceEmbeddedByPhysical<ITXApplicationModule>(Path.Combine(hostingEnvironment.ContentRootPath, string.Format("..{0}ITX.Application", Path.DirectorySeparatorChar)));
                        options.FileSets.ReplaceEmbeddedByPhysical<ITXHttpApiModule>(Path.Combine(hostingEnvironment.ContentRootPath, string.Format("..{0}..{0}src{0}ITX.HttpApi", Path.DirectorySeparatorChar)));
                        options.FileSets.ReplaceEmbeddedByPhysical<ITXWebModule>(hostingEnvironment.ContentRootPath);
                    }
                });
            }
    
  • 0
    Tony_Albutt created

    3...

            private void ConfigureNavigationServices()
            {
                Configure<AbpNavigationOptions>(options =>
                {
                    options.MenuContributors.Add(new ITXMenuContributor());
                });
    
                Configure<AbpToolbarOptions>(options =>
                {
                    options.Contributors.Add(new ITXToolbarContributor());
                });
            }
    
            private void ConfigureAutoApiControllers()
            {
                Configure<AbpAspNetCoreMvcOptions>(options =>
                {
                    options.ConventionalControllers.Create(typeof(ITXApplicationModule).Assembly);
                });
            }
    
            private void ConfigureSwaggerServices(IServiceCollection services)
            {
                services.AddSwaggerGen(
                    options =>
                    {
                        options.SwaggerDoc("v1", new OpenApiInfo { Title = "ITX API", Version = "v1" });
                        options.DocInclusionPredicate((docName, description) => true);
                        options.CustomSchemaIds(type => type.FullName);
                        //options.DocumentFilter<HideOrganizationUnitsFilter>();
                    }
                );
            }
    
            private void ConfigureExternalProviders(ServiceConfigurationContext context)
            {
                context.Services.AddAuthentication()
                    .AddGoogle(GoogleDefaults.AuthenticationScheme, _ => { })
                    .WithDynamicOptions<GoogleOptions, GoogleHandler>(
                        GoogleDefaults.AuthenticationScheme,
                        options =>
                        {
                            options.WithProperty(x => x.ClientId);
                            options.WithProperty(x => x.ClientSecret, isSecret: true);
                        }
                    )
                    .AddMicrosoftAccount(MicrosoftAccountDefaults.AuthenticationScheme, options =>
                    {
                        //Personal Microsoft accounts as an example.
                        options.AuthorizationEndpoint = "https://login.microsoftonline.com/consumers/oauth2/v2.0/authorize";
                        options.TokenEndpoint = "https://login.microsoftonline.com/consumers/oauth2/v2.0/token";
                    })
                    .WithDynamicOptions<MicrosoftAccountOptions, MicrosoftAccountHandler>(
                        MicrosoftAccountDefaults.AuthenticationScheme,
                        options =>
                        {
                            options.WithProperty(x => x.ClientId);
                            options.WithProperty(x => x.ClientSecret, isSecret: true);
                        }
                    )
                    .AddTwitter(TwitterDefaults.AuthenticationScheme, options => options.RetrieveUserDetails = true)
                    .WithDynamicOptions<TwitterOptions, TwitterHandler>(
                        TwitterDefaults.AuthenticationScheme,
                        options =>
                        {
                            options.WithProperty(x => x.ConsumerKey);
                            options.WithProperty(x => x.ConsumerSecret, isSecret: true);
                        }
                    );
            }
    
            private void ConfigureCors(ServiceConfigurationContext context, IConfiguration configuration)
            {
                context.Services.AddCors(options =>
                {
                    options.AddPolicy(DefaultCorsPolicyName, builder =>
                    {
                        builder
                        .WithOrigins(
                            configuration["App:CorsOrigins"]
                            .Split(",", StringSplitOptions.RemoveEmptyEntries)
                            .Select(o => o.RemovePostFix("/"))
                            .ToArray()
                            )
                        .WithAbpExposedHeaders()
                        .SetIsOriginAllowed(origin => true)
                        .SetIsOriginAllowedToAllowWildcardSubdomains()
                        .AllowAnyHeader()
                        .AllowAnyMethod()
                        .AllowCredentials()
                        .Build();
                    });
                });
            }
    
            public override void OnApplicationInitialization(ApplicationInitializationContext context)
            {
                var app = context.GetApplicationBuilder();
                var env = context.GetEnvironment();
    
                if (env.IsDevelopment())
                {
                    app.UseDeveloperExceptionPage();
                }
    
                app.UseAbpRequestLocalization();
    
                if (!env.IsDevelopment())
                {
                    app.UseErrorPage();
                    app.UseHsts();
                    //app.UseBrowserLink();
                }
    
                app.UseHttpsRedirection();
                app.UseCorrelationId();
                app.UseStaticFiles();
                app.UseAuthentication();
                app.UseCors(DefaultCorsPolicyName);
                app.UseRouting();
                app.UseJwtTokenMiddleware();
    
                if (MultiTenancyConsts.IsEnabled)
                {
                    app.UseMultiTenancy();
                }
    
                app.UseUnitOfWork();
                app.UseIdentityServer();
                app.UseAuthorization();
                app.UseSwagger();
                app.UseAbpSwaggerUI(options =>
                {
                    options.SwaggerEndpoint("/swagger/v1/swagger.json", "ITX API");
                });
                app.UseAuditing();
                app.UseAbpSerilogEnrichers();
                app.UseConfiguredEndpoints();
            }
        }
    }
    
  • 1
    enisn created
    Support Team

    Hi @Tony_Albutt-

    We are aware of the issue and hardly working on it. We'll release a patch version as soon as possible.

    Thanks for your patience.

  • 0
    Sturla created

    @enisn is this the same issue I´m facing here https://support.abp.io/QA/Questions/3313/Error-in-IdentityServer-when-redirecting-to-the-login-page-after-update-to-530 ?

    And hope you are working hard trying to solve it ;-) but do you have any idea **when **there will be a patch for this? We really can´t back a version since we have done so much work using it. So currently we are stuck and can´t go to production because of this

  • 0
    Tony_Albutt created

    Yip, same problem. I have posted some info on your support question.

  • 0
    EngincanV created
    Support Team

    We've fixed this problem and it will be available with v5.3.1.

  • 0
    amansharma created

    can you let us know what to do in 5.3.0 to fix this problem?

  • 0
    EngincanV created
    Support Team

    This error was caused after the obfuscation process when released the v5.3.0. To fix this problem, maybe you can try to disable the polls feature by using the GlobalFeatures :

    GlobalFeatureManager.Instance.Modules.CmsKitPro(cmsKitPro =>
    {
        cmsKitPro.Disable<PollsFeature>();
    });
    
  • 0
    amansharma created

    Did this but not working.

  • 0
    EngincanV created
    Support Team

    Did this but not working.

    Sorry to hear that. I guess there is nothing we can do (except excluding the cms-kit-pro module) at this point. Please wait for v5.3.1, we'll release it soon.

  • 0
    Tony_Albutt created

    This did not fix for me

    I removed the cms-kit-pro module, but now now get health check errors.

    Will wait for 5.3.1

  • 0
    Sturla created

    I just saw this answer from Albert that we will now have to wait 5 days for the patch! https://support.abp.io/QA/Questions/3297/CmsKit-Poll-issue-with-530-upgrade

    Sorry but doesn´t this kind of major brakeage variant a quick hotfix? Or at least preview patch with just this fix?

    I mean we can´t develop or test at this point at all (except locally thank god)... but having to wait 7 days after find out that the patch was broken not by code but a build process is not what I excepted to happen..

  • 0
    EngincanV created
    Support Team

    Hi @Sturla, we are sorry for that and we are aware of it's a bad experience for you but it was caused by the obfuscation process while releasing and it was almost impossible to find the problem at that stage. We've addressed the problem and fixed it but we need to release a new version (5.3.1) and we'll release it asap. Sorry for this kind of problem and thanks for your patience.

  • 0
    Sturla created

    @EngincanV yes we acknowledge that these things can happen and are trying to await patiently fot the patch.

    So could you let us know if the patch shippes today or tomorrow so we can do some planning around it?

    Like I have stated we are just stuck and can’t move to production because of this so its critical to be getting it soon.

    Thank you

  • 0
    EngincanV created
    Support Team

    @EngincanV yes we acknowledge that these things can happen and are trying to await patiently fot the patch.

    So could you let us know if the patch shippes today or tomorrow so we can do some planning around it?

    Like I have stated we are just stuck and can’t move to production because of this so its critical to be getting it soon.

    Thank you

    We'll start to release today, thanks for your patience.

    Best Regards.