#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
.