олово.exe не удается с сообщением об ошибке отказано в доступе

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

PS C:usersbrianDevProjectsBELibBELib> 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 и обычную командную строку от имени администратора. Появляется то же сообщение об ошибке.

5 ответов

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

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

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

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

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

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