문제

강력한 이름 도구를 사용하여 .NET 어셈블리에 서명하기 위한 새 키를 생성할 때 액세스가 거부되었습니다. 오류 메시지가 나타납니다.이것은 Windows XP 컴퓨터에서는 제대로 작동하지만 Vista 컴퓨터에서는 작동하지 않습니다.

PS C:\users\brian\Dev\Projects\BELib\BELib> sn -k keypair.snk

Microsoft (R) .NET Framework Strong Name Utility  Version 3.5.21022.8
Copyright (c) Microsoft Corporation.  All rights reserved.

Failed to generate a strong name key pair -- Access is denied.

이 문제의 원인은 무엇이며 어떻게 해결할 수 있습니까?


PowerShell 또는 명령 프롬프트를 관리자로 실행하고 있습니까?사용자 액세스 컨트롤에 익숙해 지거나 사용자 액세스 제어를 끄는 데 익숙해 질 때까지 이것이 가장 먼저 보는 장소라는 것을 알았습니다.

예, 관리자 권한으로 PS와 일반 명령 프롬프트를 실행해 보았습니다.동일한 오류 메시지가 나타납니다.

도움이 되었습니까?

해결책

예, PS와 일반 명령 프롬프트를 관리자로 실행하려고 시도했습니다.동일한 오류 메시지가 나타납니다.

또 다른 가능한 해결 방법은 사용자 계정에 C:\Documents and Settings\All Users\Application Data\Microsoft\Crypto SA\MachineKeys에 있는 키 컨테이너에 대한 액세스 권한을 부여하는 것입니다.

다른 팁

PowerShell 또는 명령 프롬프트를 관리자로 실행하고 있나요?나는 이것이 사용자 액세스 제어에 익숙해질 때까지 또는 사용자 액세스 제어를 꺼서 살펴볼 첫 번째 장소라는 것을 알았습니다.

sysinternals 프로세스 모니터를 실행하여 무엇을 볼 수 있는지 살펴보는 것은 어떨까요? 액세스 거부 메시지를 받았을 때 항상 가장 먼저 하는 일은 무엇입니까?

http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx

이것을 조금 업데이트하려면 다음을 수행하십시오.Vista에서도 같은 문제가 발생했습니다.PC의 로컬 사용자에게는 문제가 없었지만 도메인으로 전환했고 내 도메인 사용자(로컬 관리자 권한이 있음에도 불구하고)는 "액세스 거부"를 받았습니다.내 도메인 사용자 액세스 권한을 다음에 부여했습니다. C:\Users\모든 사용자\Microsoft\Crypto SA\MachineKeys 그게 문제를 해결했습니다.

일부 사람들은 이 문제를 해결하기 위해 컴퓨터를 다시 빌드하지만 사용자에게 키 컨테이너에 대한 액세스 권한을 부여하면 문제가 해결될 수 있습니다. C:\Documents and Settings\All Users\Application Data\Microsoft\Crypto SA\MachineKeyssn.exe -i를 사용하여 생성된 각 컨테이너는 MachineKeys 디렉터리에 있습니다(다른 곳에서 지정하지 않는 한).sn.exe에서 사용되는 기본 키 컨테이너도 해당 위치에 있습니다.

키 컨테이너를 새 컨테이너로 재설정하고 위치를 잊어버린 경우..sn.exe -c를 사용하여 강력한 이름 유틸리티에 대한 키 컨테이너를 재설정할 수 있습니다.따라서 계정 액세스 수정이 작동하지 않으면 대체 키 저장소를 사용하고 있을 수 있으므로 재설정이 필요할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top