Activities of "bma.ffm.dev@sjrb.ca"

We resolved this issue by adding the following to Auth.Domain.Shared.csproj

<ItemGroup> <PackageReference Include="Microsoft.Extensions.FileProviders.Embedded" Version="7.0.3" /> </ItemGroup>

  • ABP Framework version: v7.0.2
  • UI type: Angular
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): yes
  • Exception message and stack trace: N/A
  • Steps to reproduce the issue:"

We took an existing application using ABP 6.8 and upgraded it to 7.x. The application works fine, except that our custom localization strings are not returned in production, only in development. Here are a few details that might be important about our configuration:

In App.Domain.Shared, I created custom localization files en.json and fr.json files in directory /Localization/Auth. In App.AuthDomainSharedModule I created this override to add my AuthResource. I also added the virtualjson path containing the localization files.

    {
        Configure<AbpVirtualFileSystemOptions>(options =>
        {
            options.FileSets.AddEmbedded<AuthDomainSharedModule>();
        });

        Configure<AbpLocalizationOptions>(options =>
        {
            options.Resources
                .Add<AuthResource>("en")
                .AddBaseTypes(typeof(AbpValidationResource))
                .AddVirtualJson("/Localization/Auth");
            
            options.DefaultResourceType = typeof(AuthResource);
        });

        Configure<AbpExceptionLocalizationOptions>(options =>
        {
            options.MapCodeNamespace("Auth", typeof(AuthResource));
        });
    }

My AuthResource looks like:

public class AuthResource
{

}

Now, if I change ASPNETCORE_ENVIRONMENT in launchsettings to "Production"

"environmentVariables": {
    "ASPNETCORE_ENVIRONMENT": "Production"
},

In production, the AuthWebModule will not replace the embeded with physical filesets. It should use the VirtualJson configured with the resource from ConfigureServices above, but it does not seem to be working.

private void ConfigureVirtualFileSystem(IWebHostEnvironment hostingEnvironment)
    {
        Configure<AbpVirtualFileSystemOptions>(options =>
        {
            options.FileSets.AddEmbedded<AuthWebModule>();

            if (hostingEnvironment.IsDevelopment())
            {
                 options.FileSets.ReplaceEmbeddedByPhysical<AuthDomainSharedModule>(Path.Combine(hostingEnvironment.ContentRootPath, PATH_TO_Auth.Domain.Shared, Path.DirectorySeparatorChar)));
                
                // more like above but removed for brevity
            }
        });
    }

Run the application and make the following request: https://localhost:43311/api/abp/application-configuration?includeLocalizationResources=true

The custom localization strings are not returned. This exact same code did work in 6.x, but is broken since we upgraded to 7.x. Please advise.

Cheers! Trevor

  • ABP Framework version: v6.0.3
  • UI type: Angular
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): no
  • Exception message and stack trace:N/A
  • Steps to reproduce the issue:"
  1. Create a view that includes a form-switch. set to false / off. see: https://x.leptontheme.com/components/bootstrap/check-radio# (issue is reproducible from examples on this page)
  2. If light theme: click tab until form-switch control is selected, or toggle the switch twice. The nob part of the switch becomes very difficult to see
  3. if dark theme: The nob part of the switch is very difficult to see when in the false / off position. The concern here is that user's might not realize that this is an input control.
Showing 1 to 3 of 3 entries
Made with ❤️ on ABP v9.1.0-rc.1. Updated on January 17, 2025, 14:13