web-dev-qa-db-fra.com

WebView2 basé sur chrome Bords ne fonctionne pas

J'ai suivi toutes les instructions de Mise en route avec webview2 (aperçu du développeur) Pour créer une application utilisant Microsoft Edge (Chrome). Cependant, il n'est pas capable de trouver le navigateur Edge. J'ai aussi essayé les échantillons d'applications (- this et this ) mais avec les mêmes résultats. J'ai construit les applications à la fois pour 32 et 64 bits.

Ce que je reçois de l'appelant CreateWebView2EnvironmentWithDetails() est une erreur 0x80070002, lequel est ERROR_FILE_NOT_FOUND ( Le système ne peut pas trouver le fichier spécifié. ))

HRESULT hr = CreateWebView2EnvironmentWithDetails(nullptr, nullptr, nullptr,
  Callback<IWebView2CreateWebView2EnvironmentCompletedHandler>(
     [hWnd](HRESULT result, IWebView2Environment* env) -> HRESULT {

        // Create a WebView, whose parent is the main window hWnd
        env->CreateWebView(hWnd, Callback<IWebView2CreateWebViewCompletedHandler>(
           [hWnd](HRESULT result, IWebView2WebView* webview) -> HRESULT {
              if (webview != nullptr) {
                 webviewWindow = webview;
              }

              // Resize WebView to fit the bounds of the parent window
              RECT bounds;
              GetClientRect(hWnd, &bounds);
              webviewWindow->put_Bounds(bounds);

              // Schedule an async task to navigate to Bing
              webviewWindow->Navigate(L"https://www.bing.com/");

              return S_OK;
           }).Get());
        return S_OK;
     }).Get());

if (!SUCCEEDED(hr))
{
  if (hr == HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND))
  {
     MessageBox(
        nullptr,
        L"Couldn't find Edge installation. "
        "Do you have a version installed that's compatible with this "
        "WebView2 SDK version?",
        nullptr, MB_OK);
  }
  else
  {
     std::wstringstream formattedMessage;
     formattedMessage << L"Failed to create webview environment" 
                      << ": 0x" << std::hex << std::setw(8) << hr;
     MessageBox(nullptr, formattedMessage.str().c_str(), nullptr, MB_OK);
  }
}

J'ai:

  • Edge version 79.0.309.60 (Builée officielle) Beta (64 bits)
  • Windows 10.0.17134
  • Visual Studio 2019 16.4.2

Des idées pourquoi mon installation de bord n'est pas trouvée?

4
Marius Bancila

La version du navigateur n'est probablement pas compatible avec la dernière version du SDK, vous devrez peut-être remonter certaines versions pour qu'il fonctionne, après la liste:

https://docs.microsoft.com/en-us/microsoft-ege/hosting/webview2/ReleAsenotes

Modifier: Comme indiqué par l'un des développeurs de WebView22, au moment où WebView2 est toujours dans la version de prévisualisation afin que la dernière version de WebView2 accompagne la dernière version du Canary de Edge.

https://github.com/microsoftge/webevieweedback/issues/103#issuecomment-575287157

2
Fernando Vellozo

J'ai la même erreur et j'ai installé WebView2 Runtime, cela fonctionne. https://developer.microsoft.com/microsoft-ege/webview2

0
gigi
  • Mettre à jour Nuge WebView2 SDK à la dernière (inclure PRERRELASe).
0
Mark Yang