[C#] Edge WebView2 擴充套件實作筆記:安裝及常見問題解析

2024-07-22

更新一下,最近在繼續研究 Edge WebView2 ,因為要處理一些麻煩的東西需要安裝外掛 (extension)

是成功安裝了,但是還有些小問題,這邊先筆記一下,之後有任何突破在更新吧..

這邊我 sample 的是使用 Edge WebView2 來安裝 擴充套件,我相信你的 Edge 應該也裝不少吧

我就想說能不能安裝在 Edge WebView2 實做一下是可以的

1. 先找到你要的外掛通常沒意外的話都會在 

C:\Users\使用者名稱\AppData\Local\Microsoft\Edge\User Data\Default\Extensions 裡面

大概會長這樣

這邊我就隨機找一個來測試,我就複製其中一個 mcbpblocgmgfnpjjppndjkmgjaogfceg 的路徑

接下來就是程式碼的部分


2. 在 Init WebView2 的時候就要加入一些資訊,其中 AreBrowserExtensionsEnabled 需要打開設為 true

var userDataForder = AppDomain.CurrentDomain.BaseDirectory + "TestEnviorment0723"; Directory.CreateDirectory(userDataForder); //主要是放 使用者的 profile 資料等,如果換一個檔案夾等於就是開一個全新的 Edge var options = new CoreWebView2EnvironmentOptions(userDataForder); //如果要安裝外掛,這就是要開啟為 true options.AreBrowserExtensionsEnabled = true; CoreWebView2Environment environment = CoreWebView2Environment.CreateAsync(null, userDataForder, options).Result; webView21.EnsureCoreWebView2Async(environment); webView21.CoreWebView2InitializationCompleted += WebView21_CoreWebView2InitializationCompleted;


3.初始之後就可以透過  AddBrowserExtensionAsync 來透安裝

private async void btnInstallExt_Click(object sender, EventArgs e) { var path = @"D:\Users\使用者編號\Source\repos\TestWebView2\TestWebView2\bin\Debug\mcbpblocgmgfnpjjppndjkmgjaogfceg\1.12.18_0"; await webView21.CoreWebView2.Profile.AddBrowserExtensionAsync(path); }


結果:


這邊按下滑鼠右鍵就會出現該擴充套件會出現的資訊,不過,目前開 Extension 的地方目前都是空白

還無法使用,之後有時間我再來研究看看,不然如果你有解決方案也可以跟我說一下,先筆記到這裡..


reference:

https://github.com/MicrosoftEdge/WebView2Feedback/issues/3748

https://github.com/RickStrahl/MarkdownMonster/issues/730

https://learn.microsoft.com/en-us/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2environment?view=webview2-winrt-1.0.2592.51

https://learn.microsoft.com/en-us/dotnet/api/microsoft.web.webview2.core.corewebview2profile.addbrowserextensionasync?view=webview2-dotnet-1.0.2535.41



當麻許的碎念筆記 2014 | Donma Hsu Design.