一切適用於啓用了.NET Framework註冊表項AllowStrongNameBypass
的計算機上。 但是,我們要求在我們的部署環境中禁用AllowStrongNameBypass
。具有強名稱二進制文件的CefSharp
我們需要有CefSharp.BrowserSubProcess.exe
及其非託管依賴性Strong-Named(最好不用自己構建CefSharp)。
作爲測試,我們嘗試用ildasm.exe
拆卸CefSharp.BrowserSubProcess.exe
和使用ilasm.exe
重新組裝,並使用sn.exe
生成的密鑰給組件強名稱密鑰自己。不幸的是,這個失敗與MethodAccessException
。
是否有可用版本的CefSharp組件是強 - 命名還是解決此問題的方法?
我安裝v51.0.0從的NuGet跑'SN-T 「[DLL]」'和dll的我檢查,包括'CefSharp.BrowserSubProcess。 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