Skip to content

[Issue] Prism.Ioc.Internals.ContainerProviderLocator does not have public constructors Avalonia.Browser Error #224

@Ultramund1

Description

@Ultramund1

OS: Windows11, Ubuntu-24.04
Prism.Avalonia Version:9.0.537.11130
Avalonia Version:11.3.0
Severity (1-5): 5
Steps To Reproduce

1、create a new Avalonia Cross Plateform Application
2、nuget Prism.DryIoc.Avalonia 9.0.537.11130
3、change App.axaml.cs as below:

public partial class App : PrismApplication
{
  public override void Initialize()
  {
    AvaloniaXamlLoader.Load(this);
    base.Initialize();
  }

  public override void OnFrameworkInitializationCompleted()
  {
    if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
    {
        DisableAvaloniaDataAnnotationValidation();
    }
    base.OnFrameworkInitializationCompleted();
  }

  protected override void RegisterTypes(IContainerRegistry containerRegistry)
  {
  }

  protected override AvaloniaObject CreateShell() => ApplicationLifetime is IClassicDesktopStyleApplicationLifetime
        ? Container.Resolve<MainWindow>()
        : Container.Resolve<MainView>();

  private void DisableAvaloniaDataAnnotationValidation()
  {
    // Get an array of plugins to remove
    var dataValidationPluginsToRemove =
        BindingPlugins.DataValidators.OfType<DataAnnotationsValidationPlugin>().ToArray();

    // remove each entry found
    foreach (var plugin in dataValidationPluginsToRemove)
    {
        BindingPlugins.DataValidators.Remove(plugin);
    }
  }
}

4、cd D:\Tests\AvaloniaApplication1\AvaloniaApplication1.Browser and then Execute dotnet publish

5、execute dotnet serve -d:bin\Release\net9.0-browser\publish\wwwroot -p:8080 -a:any
Starting server, serving bin\Release\net9.0-browser\publish\wwwroot result as below:

Image

6、Error

Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions