2016-12-25 27 views
3

クライアントマシンにデプロイされたC#コンソールアプリケーションがあります。クライアントマシンにデプロイする際に、System.TypeInitializationExceptionが発生します。 DEBUG.LOGで必要なCef/CefSharp依存関係を見つけることができません

、私は、次のエラーを取得:

Unable to locate required Cef/CefSharp dependencies: 
Missing:CefSharp.BrowserSubprocess.exe 
Missing:CefSharp.BrowserSubprocess.Core.dll 
Missing:CefSharp.Core.dll 
Missing:CefSharp.dll 
Missing:icudtl.dat 
Missing:libcef.dll 
Executing Assembly Path:C:\myapp 

問題は、すべてのファイルがCに存在していることである:\ myappのディレクトリ(ここで指定されています)。したがって、なぜこれらのファイルがロードされていないのかわかりません。 msvcp120.dll、msvcr120.dll、vccorlib120.dllはc:\ myappディレクトリに含まれています

+0

を参照してください。 – amaitland

+0

依存性チェックを無効にすることができます。これはCef.Initializeのパラメータです。 – amaitland

+0

@amaitlandコードを元に戻した後に問題が解消したので、 。 –

答えて

1

私は同じ問題がありました。最初私はCef.Initialize()関数は、単に動作しないことを見たので、私はこのようなperformDependencyCheckオプションが有効:私は

Cef.Initialize(BrowserSettings, performDependencyCheck: true, browserProcessHandler: null); 

(この例https://github.com/cefsharp/CefSharp.MinimalExample/blob/master/CefSharp.MinimalExample.OffScreen/Program.csによる)

を、私はを見ましたいくつかのファイルがありません。

その後、何も見逃してもエラーが表示され続けました。私はperformDependencyCheckオプションを無効にし、それが働いていた(このように:。

Cef.Initialize(settings, performDependencyCheck: false, browserProcessHandler: null); 

が、それはあなたを助けることを願っています

+0

55.0.0パッケージにはgitlinkがサポートされているので、開発マシン上のソースを簡単にデバッグできます。 https:// github。com/GitTools/GitLink#gitlink – amaitland

+0

performDependencyCheckも無効にしたいのですが、メインフレームでJavaScriptを実行できないことに気付きました。だから私はそうするのをやめます。代わりに私の答えを見てください。 –

2

として多くの人々が、私はセットアップ「どれCPU」を公式Quick Start articleの手順に従いました。 performDependencyCheckが上だったときの構成と私は行方不明の依存関係と同じ問題を抱えていた。

記事は実際に不完全であるため、これがある!「どれCPUが」設定が機能するために

、あなたはすべてに従う必要がFeature Request - Add AnyCPU Support #1714の手順(特に最後の1!):

01以下

例:

[STAThread] 
public static void Main() 
{ 
    var settings = new CefSettings(); 
    settings.BrowserSubprocessPath = @"x86\CefSharp.BrowserSubprocess.exe"; 

    Cef.Initialize(settings, performDependencyCheck: false, browserProcessHandler: null); 

    var browser = new BrowserForm(); 
    Application.Run(browser); 
} 

注:このコードを使用しているとき、私はまだそれが今は本物のエラーを報告しますので、あなたがperformDependencyCheck: trueを使用するように助言します。

+1

私はperformDependencyCheckをtrueのままにします –

+1

はい、あなたは正しいです。performDependencyCheckは "true"のままにしてください。私はちょうどチケットの例を引用した。私は私の答えには追加しません。ありがとう –