WPF WebView2 и SimpleInjector — Не удается привести к Microsoft.Web.WebView2.Core.Raw.Окружение icorewebview2

#c# #wpf #simple-injector #webview2

Вопрос:

У меня есть заявление в WPF с. SimpleInjector В приложении я использую WebView2 контроль. Без SimpleInjector применения работает. Но когда я добавляю Program.cs класс с SimpleInjector помощью, я получаю ошибку. Мой Program.cs класс:

 public class Program
    {
        [STAThread]
        static void Main()
        {
            var container = Bootstrap();

            // Any additional other configuration, e.g. of your desired MVVM toolkit.

            RunApplication(container);
        }

        private static Container Bootstrap()
        {
            // Create the container as usual.
            var container = new Container();

            container.Options.DefaultScopedLifestyle = new AsyncScopedLifestyle();

            // Register your types, for instance:

            // Register your windows and view models:
            container.Register<MainWindow>();

            container.Verify();

            return container;
        }

        private static void RunApplication(Container container)
        {
            //try
            //{
            var app = new App();
            //app.InitializeComponent();
            var mainWindow = container.GetInstance<MainWindow>();
            app.Run(mainWindow);
            //}
            //catch (Exception ex)
            //{
            //    //Log the exception and exit
            //}
        }
    }
 

MainWindow класс выглядит так:

 public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
            InitializeAsync();
        }

        async void InitializeAsync()
        {
            try
            {
                await webView.EnsureCoreWebView2Async(null);
            }
            catch (Exception exp)
            {

            }
        }
    }
 

Я получаю ошибку:

Не удалось выполнить приведение к Microsoft.Web.WebView2.Core.Raw.Окружение icorewebview2.

Это может произойти, если вы используете интерфейс, не поддерживаемый используемой версией среды выполнения WebView2.

Например, если вы используете экспериментальный интерфейс из более старого SDK, который был изменен или удален в более новой среде выполнения.

Or, if you are using a
public interface from a newer SDK that wasn’t implemented in an older runtime.

For more
information about WebView2 versioning please visit the following: https://docs.microsoft.com/microsoft-edge/webview2/concepts/versioning

Message of Exception tell that there is something wrong with version Runtime and WevView2 SDK but it’s not true because when I start application directly from App.cs and remove Program.cs it works. WebView is displayed in WPF .