すべては.NET FrameworkレジストリキーAllowStrongNameBypass
が有効なマシンで動作します。 ただし、展開された環境でAllowStrongNameBypass
を無効にする必要があります。CefSharpとStrong-Namedバイナリ
CefSharp.BrowserSubProcess.exe
とその管理対象外の依存関係がStrong-Named(できればCefSharpを構築せず)である必要があります。試験として
、我々はildasm.exe
を使用してCefSharp.BrowserSubProcess.exe
を分解し、ilasm.exe
とsn.exe
を使用して生成した鍵を使用してそれを再構築することにより、アセンブリに自分自身を厳密な名前のキーを与えてみました。残念ながら、これはMethodAccessException
で失敗しました。
アセンブリがStrong-Namedであるか、この問題を回避するためのCefSharpの使用可能なバージョンがありますか?
私は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
@dukedukes私のv51.0.0バイナリで見ているのは、 'sn.exe -Tp CefSharp.BrowserSubProcess.exe'コマンドが公開鍵(' ildasm'でも見られます)を表示するコマンドです。 'sn.exe -vf CefSharp.BrowserSubProcess.exe'コマンドは、以下のエラーを返します。'アセンブリの検証に失敗しました - アセンブリ 'CefSharp.BrowserSubprocess.exe'に対して強い名前の検証に失敗しました。 – Fizz
'' sn -vf CefSharp .BrowserSubProcess.exe'と同じことが見られましたが、32ビット版、64ビット版のみが正しく検証されました。私はsn.exeの32ビット版と64ビット版の両方を試しました。オプションは、CefSharp GitHubレポで利用可能な 'CefSharp.snk'キーでアセンブリを辞退し、この問題が発生しているアセンブリごとに繰り返すことができます。 – dukedukes