모든 기능은 .NET Framework 레지스트리 키 AllowStrongNameBypass
이 설정된 컴퓨터에서 작동합니다. 그러나 배포 된 환경에서는 AllowStrongNameBypass
을 사용하지 않도록 설정해야합니다.강력한 이름의 바이너리가 포함 된 CefSharp
우리는 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