6

Windows XP の Visual Studio 2010 で開発している C# プロジェクトに CefSharp を統合しようとしています。Windows Server 2003 を実行している他のユーザーから同様のエラーが報告されています。

  1. NuGet を介して CefSharp.WinForms を追加しましたが、うまく機能しているようです。

  2. アプリをコンパイルして実行しますが、CefSharp をロードしようとすると、「'CefSharp.Core.dll' によってインポートされたプロシージャをロードできませんでした」というメッセージが表示されます。

以下は私が実行するコードです:

        var settings = new CefSharp.CefSettings {
            PackLoadingDisabled = true
        };

        if (Cef.Initialize(settings)) {
            throw new Exception("Failed to initialze CefSharp");
        }

        var browser = new CefSharp.WinForms.ChromiumWebBrowser("http://www.google.com/");
        browser.SetBounds(0, 0, ClientSize.Width, ClientSize.Height);
        Controls.Add(browser);

CefSharp のFAQでは、XP は正式にサポートされていませんが、Windows XP で実行するために行った多くのタスクを実行する必要があるとのことですが、FAQ では動作すると述べています。

  • 最新のサービス パックとパッチが適用されていることを確認してください はい
  • 正しい Visual C++ バージョンがインストールされていることを確認してください。はい
  • GPU アクセラレーションを無効にします ( https://github.com/cefsharp/CefSharp/issues/627#issuecomment-64232089を参照) CefSettingsをインスタンス化することさえできないため、関連性はありません
  • 建物がリリースモードになっていることを確認してください。はいやってみました
  • bin ディレクトリの Debug.log ファイルを調べます (ログの詳細度を上げる必要があるかもしれません。https://github.com/cefsharp/CefSharp/blob/master/CefSharp.Example/CefExample.cs#L22 を参照してください)。CafSettings をインスタンス化する
  • まだアップグレードしていない場合は、最新の GPU ドライバーにアップグレードします。はい

表示されるエラーメッセージ

プロジェクトファイル

bin\x86\debug 内のファイル

4

4 に答える 4

0

「正しい Visual C++ バージョンがインストールされていることを確認してください」に誤字脱字があると思います。

私見では、「正しい Visual C++再頒布可能バージョンがインストールされていることを確認してください。」

別の FAQ 項目への参照です: https://github.com/cefsharp/CefSharp/wiki/Frequently-asked-questions#Inclusive_vcredist

于 2015-01-24T01:34:02.370 に答える
0

私はそのトピックを解決しました。

https://groups.google.com/forum/#!searchin/cefsharp/xp/cefsharp/J5gX7OKf7Rc/EoB3h0UmfYYJ

VS2013 と時間があれば、少し変更してソースからビルドしてみることができます。

  • ReleaseXP/2003 にデプロイするときは、必ずビルド モードを使用してください。
  • 2 つの C++ プロジェクトPlatform Toolsetを次のように変更します。Visual Studio 2013 - Windows XP (v120_xp)
  • 展開先のマシンがVC++ 2013 Redistインストールされていることを確認してください。
于 2015-06-17T08:36:28.297 に答える
0

また、注意が必要な潜在的な問題がいくつかあります。

1 - ブラウザーのサブプロセス パスを設定します。

var settings = new CefSettings {
BrowserSubprocessPath = "CefSharp.BrowserSubprocess.exe"
}; 

2 - アドレス/html を ctor ではなくbrowser.IsBrowserInitialisedイベントに設定します (ブラウザが初期化されていることを確認した後でのみ) 要するに、CEF は BIG FAT dll であり、ロードと初期化に時間がかかります...これが機能しますあっという間に!

于 2015-01-25T12:38:51.193 に答える
0

ここで同じ問題。本当に本当に迷惑です。依存関係ウォーカーを試しましたが、関連する情報は得られませんでした。すべてのチュートリアルで関連情報が提供されているわけではありません。少なくともnugetパッケージでは、それは不可能だと確信しています。

于 2015-04-15T12:59:43.617 に答える