2008-08-15 4 views
12

Я получаю сообщение об ошибке «Отказано в доступе», когда я использую инструмент сильного имени для создания нового ключа для подписи сборки .NET. Это отлично работает на компьютере под управлением Windows XP, но оно не работает на моей машине Vista.sn.exe не удалось получить сообщение об ошибке «Отказано в доступе»

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 или командной строки в качестве администратора? I нашел это первым местом для Посмотрите, пока не привыкнете к доступу пользователя Управление или повернутый пользовательский доступ Управление выключено.

Да, я попробовал запустить PS и обычную командную строку в качестве администратора. Появляется одно и то же сообщение об ошибке.

ответ

26

Да я попытался запустить PS и регулярных командной строки администратора. Появляется то же сообщение об ошибке .

Другим возможным решением может быть то, что вам необходимо предоставить доступ к аккаунту пользователя к ключевому контейнеру, расположенного по адресу C: \ Documents и Settings \ All Users \ Application Data \ Microsoft \ Crypto \ RSA \ MachineKeys

+1

Черт, хочу, чтобы я мог дать больше, чем +1. Я люблю тебя очень! – 2009-10-13 16:22:34

+0

В Windows 7 путь «C: \ Users \ All Users \ Microsoft \ Crypto \ RSA \ MachineKeys». Возможно, вам придется показывать скрытые и системные файлы, чтобы увидеть папку «Все пользователи». – JMS10 2015-04-30 16:24:50

3

Вы используете PowerShell или Командная строка в качестве администратора? Я обнаружил, что это первое место для просмотра, пока вы не привыкнете к User Access Control или отключите контроль доступа пользователя.

+0

Это Пользователь ** Счет ** Контроль! – Vercas 2011-07-27 22:11:33

2

Некоторые люди восстановить свои машины, чтобы решить эту проблему, но она может быть решена путем предоставления доступа пользователей к ключу контейнер C: \ Documents и Settings \ All Users \ Application Data \ Microsoft \ Crypto \ RSA \ MachineKeys Каждый контейнер, созданный с использованием sn.exe -i, находится в каталоге MachineKeys (если вы не указали в другом месте). Контейнер ключей по умолчанию, который используется sn.exe, также находится в этом месте.

Если вы сбросили свой контейнер ключей на новый и забудете, где он находится. Вы можете сбросить контейнер ключей для утилиты с сильным именем, используя sn.exe -c. Таким образом, если исправление доступа к учетной записи не работает, вы можете использовать альтернативное хранилище ключей, чтобы сброс мог быть в порядке.

3

Просто обновить это немного: я столкнулся с той же проблемой в Vista. У моего локального пользователя на ПК не было проблем, но затем мы переключились на домен, и мой пользователь домена (хотя и имел права локального администратора) получил «Access Denied». Я предоставил права доступа к домену в домене C: \ Users \ All Users \ Microsoft \ Crypto \ RSA \ MachineKeys и исправил его.

 Смежные вопросы

  • Нет связанных вопросов^_^