gpt4 book ai didi

.net - 强名称 sn.exe : Failed to install key pair -- Object already exists

转载 作者:行者123 更新时间:2023-12-03 09:18:17 26 4
gpt4 key购买 nike

我的机器上有同一个项目的 2 个不同版本。一个来自代码主干,另一个来自代码分支。这些项目使用 .pfx key 来启用强命名。当我第一次尝试编译项目的主干版本时,我收到以下错误:

无法导入以下 key 文件:sgKey.pfx。 key 文件可能受密码保护。要更正此问题,请尝试再次导入证书或手动将证书安装到具有以下 key 容器名称的强名称 CSP:VS_KEY_45891C38BC1BB345

为了解决这个问题,我使用 sn.exe 和以下命令:

sn -i sg Key.pfx VS_KEY_45891C38BC1BB345

这解决了主干项目的问题,然后愉快地构建。

但是,当我尝试构建项目的分支版本时,我收到相同的初始错误(具有相同的 key 容器名称),并且当我尝试使用 sn.exe 安装证书时(不足为奇)给出以下错误:

安装 key 对失败 -- 对象已存在

这是有道理的,因为我在 sn 命令上使用了相同的 infile 和容器,但我想了解的是:

  • 如果此对象已经存在,为什么项目无法构建,因为它似乎已经安装了证书。
  • 我如何解决这个问题(例如,我可以卸载然后重新安装吗?如果可以,如何解决?)
  • 最佳答案

    我已经设法解决了我的问题,但没有完全了解原因。我发现了一篇关于类似问题的帖子 here ,但并不完全适合我的情况,因为我只以单个用户身份登录过我的机器。

    该帖子显示了如何删除容器,但我也不能这样做,因为它说容器不存在。它所做的只是提示我以管理员身份运行命令提示符,这是我以前没有做过的。这使我可以卸载并重新安装证书,现在项目的两个版本都已成功构建。

    我的假设是,证书最初是在与我第二次尝试安装的用户不同的用户下(由我)安装的,但我不知道为什么会这样,因为我只登录过机器作为单个用户。这对我来说仍然是个谜。

    摘要:

  • 启动开发者命令提示符作为管理员 ,否则你会得到一个误导性的错误,说容器不存在。
  • 运行 sn -d VS_KEY_XXXXXXXXXXX 删除旧 key 。
  • 您现在应该能够重新安装证书。
  • 关于.net - 强名称 sn.exe : Failed to install key pair -- Object already exists,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23754044/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com