2016-09-26 17 views
2

すべては.NET FrameworkレジストリキーAllowStrongNameBypassが有効なマシンで動作します。 ただし、展開された環境でAllowStrongNameBypassを無効にする必要があります。CefSharpとStrong-Namedバイナリ

CefSharp.BrowserSubProcess.exeとその管理対象外の依存関係がStrong-Named(できればCefSharpを構築せず)である必要があります。試験として

、我々はildasm.exeを使用してCefSharp.BrowserSubProcess.exeを分解し、ilasm.exesn.exeを使用して生成した鍵を使用してそれを再構築することにより、アセンブリに自分自身を厳密な名前のキーを与えてみました。残念ながら、これはMethodAccessExceptionで失敗しました。

アセンブリがStrong-Namedであるか、この問題を回避するためのCefSharpの使用可能なバージョンがありますか?

+0

私はNuGetからv51.0.0をインストールし、 'SN -T「[DLL]」'とCefSharp.BrowserSubProcess '含め私がチェックしたdllのが、走りました。 exe'は、強い名前を持っていた。あなたのバージョンが 'MethodAccessException'がなぜ発生しているのか調べようとしないなら、私はこの記事を見つけました:http://stackoverflow.com/questions/10738008/accessing-newly-signed-third-party-dll-gives-error – dukedukes

+0

@dukedukes私のv51.0.0バイナリで見ているのは、 'sn.exe -Tp CefSharp.BrowserSubProcess.exe'コマンドが公開鍵(' ildasm'でも見られます)を表示するコマンドです。 'sn.exe -vf CefSharp.BrowserSubProcess.exe'コマンドは、以下のエラーを返します。'アセンブリの検証に失敗しました - アセンブリ 'CefSharp.BrowserSubprocess.exe'に対して強い名前の検証に失敗しました。 – Fizz

+0

'' sn -vf CefSharp .BrowserSubProcess.exe'と同じことが見られましたが、32ビット版、64ビット版のみが正しく検証されました。私はsn.exeの32ビット版と64ビット版の両方を試しました。オプションは、CefSharp GitHubレポで利用可能な 'CefSharp.snk'キーでアセンブリを辞退し、この問題が発生しているアセンブリごとに繰り返すことができます。 – dukedukes

答えて

1

CefSharpには、無効な厳密な名前のアセンブリが含まれているようです。 @Fizzは、32ビットプラットフォームの下でCefSharp.BrowserSubProcess.exeのポストビルドステップを指摘しているため、これが原因です。

CefSharp GitHubレポで使用可能なCefSharp.snkキーを使用して問題のアセンブリを再署名します。あなたは、次のコマンドで再署名することができます。

sn.exe -R CefSharp.BrowserSubProcess.exe [CefSharp key]

関連する問題