当方では問題なく動きますねぇ。AnyCPU対応法が違うのでしょうか?
3パターン中推奨っぽい
cefsharp/CefSharp.MinimalExample at demo/anycpu
の通りにやりました。
cs:Form1.cs
1 using System . Windows . Forms ;
2 using CefSharp . WinForms ;
3
4 namespace Questions264430
5 {
6 public partial class Form1 : Form
7 {
8 public Form1 ( )
9 {
10 InitializeComponent ( ) ;
11
12 var browser = new ChromiumWebBrowser ( "https://www.nicovideo.jp/" ) { Dock = DockStyle . Fill , } ;
13 browser . BrowserSettings . AcceptLanguageList = "ja-JP" ;
14 Controls . Add ( browser ) ;
15 }
16 }
17 }
cs:Program.cs
1 using System ;
2 using System . IO ;
3 using System . Reflection ;
4 using System . Runtime . CompilerServices ;
5 using System . Windows . Forms ;
6 using CefSharp ;
7 using CefSharp . WinForms ;
8
9 namespace Questions264430
10 {
11 // https://github.com/cefsharp/CefSharp.MinimalExample/blob/demo/anycpu/CefSharp.MinimalExample.WinForms/Program.cs
12 internal class Program
13 {
14 [ STAThread ]
15 public static void Main ( )
16 {
17 AppDomain . CurrentDomain . AssemblyResolve += Resolver ;
18 LoadApp ( ) ;
19 }
20
21 [ MethodImpl ( MethodImplOptions . NoInlining ) ]
22 private static void LoadApp ( )
23 {
24 var settings = new CefSettings ( ) ;
25 Cef . Initialize ( settings , performDependencyCheck : true , browserProcessHandler : null ) ;
26 Application . Run ( new Form1 ( ) ) ;
27 }
28
29 private static Assembly Resolver ( object sender , ResolveEventArgs args )
30 {
31 if ( args . Name . StartsWith ( "CefSharp" ) )
32 {
33 var assemblyName = args . Name . Split ( new [ ] { ',' } , 2 ) [ 0 ] + ".dll" ;
34 var archSpecificPath = Path . Combine ( AppDomain . CurrentDomain . SetupInformation . ApplicationBase , Environment . Is64BitProcess ? "x64" : "x86" , assemblyName ) ;
35
36 return File . Exists ( archSpecificPath ) ? Assembly . LoadFile ( archSpecificPath ) : null ;
37 }
38
39 return null ;
40 }
41 }
42 }
前々回の回答でWebView2
に言及したので、こちらも試してみました。
新しいEdgeが入っていれば何の設定もせずに、上の画像と同じ状態になりました。
プレビューが外れて同梱方法等が整備されれば、第一候補になると思います。
ブラウザコントロールはどれもまともに使ったことがないので、細かい使用感はわかりませんが^^;
Microsoft Edge WebView 2 Windows フォームアプリ - Microsoft Edge Development | Microsoft Docs
Canaryを入れろと書いてありますが、Devでも動きました(Beta・ノーマルでは動きませんでした)
cs
1 using System ;
2 using System . Windows . Forms ;
3 using Microsoft . Web . WebView2 . WinForms ;
4
5 namespace WebView2Test
6 {
7 public partial class Form1 : Form
8 {
9 public Form1 ( )
10 {
11 InitializeComponent ( ) ;
12 var webView2 = new WebView2 { Dock = DockStyle . Fill , Source = new Uri ( "https://www.nicovideo.jp/" ) , } ;
13 Controls . Add ( webView2 ) ;
14 }
15 }
16 }
追記
WinFormsでCefSharpをAnyCPU構成で使う方法 | おてて動かそう
こちらは32bitを明示するパターンですね。
本家でいうとこれになりますね。
CefSharp.MinimalExample/CefSharp.MinimalExample.WinForms at demo/anycpuprefer32bit · cefsharp/CefSharp.MinimalExample
念のため自分で同じように作ったものと、
xiaotiantakumi/AnyCPUWinFormsCefSharpSample at WinFormsでCefSharpをAnyCPU構成で使う方法
をクローンしたもの両方でテストしました。
cs
1 using System . Windows . Forms ;
2 using CefSharp ;
3 using CefSharp . WinForms ;
4
5 namespace WinFormsCefSharpSample
6 {
7 public partial class Form1 : Form
8 {
9 public Form1 ( )
10 {
11 InitializeComponent ( ) ;
12 InitializeChromium ( ) ;
13 }
14 private void Form1_FormClosing ( object sender , FormClosingEventArgs e )
15 {
16 Cef . Shutdown ( ) ;
17 }
18
19 private ChromiumWebBrowser chromeBrowser ;
20 private void InitializeChromium ( )
21 {
22 var settings = new CefSettings ( ) ;
23
24 settings . AcceptLanguageList = "ja-JP" ; // どちらかでいい
25
26 Cef . Initialize ( settings ) ;
27 chromeBrowser = new ChromiumWebBrowser ( "https://www.nicovideo.jp/" ) ;
28
29 chromeBrowser . BrowserSettings . AcceptLanguageList = "ja-JP" ; // どちらかでいい
30
31 Controls . Add ( chromeBrowser ) ;
32 chromeBrowser . Dock = DockStyle . Fill ;
33 }
34 }
35 }
AcceptLanguageList = "ja-JP"
をどちらかに付ければ日本語になりました(両方つけてもいいですが)
かなり作りこんでおられるようですが、一旦当該記事のように最小構成 で作ってみてどうなるかですね。
それでもダメな場合はChromeの設定等他の要因ということになりそうですが、ちょっとわかりそうにありません。