Все работает на машинах, где включен ключ реестра .NET Framework AllowStrongNameBypass
. Однако мы требуем, чтобы AllowStrongNameBypass
был отключен в нашей развернутой среде.CefSharp с сильноименованными двоичными файлами
Мы должны иметь CefSharp.BrowserSubProcess.exe
и его неуправляемые зависимости Сильно-именованные (желательно БЕЗ СТРОИТЕЛЬСТВА CefSharp).
В качестве теста, мы попытались дать Ассамблеи ключам строгого имени себя разборку CefSharp.BrowserSubProcess.exe
использования ildasm.exe
и сборку его с помощью ilasm.exe
и ключ, сгенерированный с помощью sn.exe
. К сожалению, это не удалось с MethodAccessException
.
Есть ли доступная версия CefSharp, где узлы Strong-Named или путь вокруг этой проблемы?
Я установил v51.0.0 от NuGet и побежал 'зп -Т«[длл]»' и библиотеки 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-битной проверки правильности. Я попробовал 32-разрядную и 64-разрядную версии sn.exe. Опция может отменить сборку с помощью ключа 'CefSharp.snk', доступного в репозитории CefSharp GitHub, а затем повторить для каждой сборки, у которой есть эта проблема. – dukedukes