本文为个人博客备份文章,原文地址:

http://validvoid.net/visual-studio-pfx-import/

导入密钥

在使用 Visual Studio 生产项目时,使用 pfx 密钥签名的项目可能遭遇以下问题:

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

Cannot import the following key file: ****.pfx. The key file may be password protected. To correct this, try to import the certificate again or manually install the certificate to the Strong Name CSP with the following key container name: VS_KEY_****************

这种情况只要依提示将密钥导入即可,具体的操作步骤是:

  1. 启动 Visual Studio 命令提示

    Visual Studio 2015 以前的版本:

    中文版: 开始 -> Microsoft Visual Studio 2015 - >Visual Studio Tools -> Visual Studio 命令提示(201*)

    English: Start -> Microsoft Visual Studio 201* -> Visual Studio Tools -> Developer Command Prompt for VS201*

    Visual Studio 2015 :

    中文版: 开始 -> Visual Studio 2015(文件夹) - > Visual Studio 命令提示(2015)

    English: Start -> Visual Studio 2015(Folder) -> Developer Command Prompt for VS2015

  2. 在命令提示符中定位到 .pfx 文件所在的目录

  3. 在命令提示符中输入 sn -i ****.pfx VS_KEY_****************

    例如: sn -i xxxx.pfx VS_KEY_791BAAE3DF288545

  4. 输入 .pfx 密钥文件的密码,完成导入

完成导入后应该就可以在 Visual Studio 中正常 build 项目了。

重新导入密钥

有时,在 Visual Studio 要求导入密钥,并执行上述导入步骤时会得到以下报错:

Failed to install key pair -- Object already exists

这时可以通过在 Visual Studio 命令提示 中执行以下命令移除已经导入的密钥,以便重新导入:

sn -d VS_KEY_****************

提示密钥删除成功后可以通过上述导入步骤重新导入密钥。

如果在删除密钥时获得以下报错:

容器不存在

Container does not exist

这是由于系统中另外某个账户已经导入了密钥,在当前账户中无法对其进行移除。可以尝试登录到早先导入密钥的用户账户对密钥进行移除,然后再切换到要进行 项目 build 的账户重新导入密钥即可。

Visual Studio 要求导入 pfx 密钥以及导入后依然要求导入的解决办法的更多相关文章

  1. 运行OpenGL红宝书第9版源码时Visual Studio提示“无法启动程序...ALL_BUILD。拒绝访问“的问题的解决办法

    问题描述: OpenGL红宝书第9版源码采用CMake编译后,用相应的Visual Studio(如VS2012)打开“vermilion9.sln”解决方案,并运行时Visual Studio提示“ ...

  2. 关于Visual Studio 2013 编译 multi-byte character set MFC程序出现 MSB8031 错误的解决办法

    转自:http://blog.csdn.net/xiaochunzao/article/details/16987703 Visual Studio 2013 编译旧的 multi-byte char ...

  3. Visual Studio 2010 起始页中 不显示最近使用的项目问题,解决办法

    最近新装了vs2010,发现打开vs2010 后 起始页面中的最近使用的栏目中 并未显示最近加载的项目 解决办法如下: 运行 regedit 打开下面的键值: HKEY_CURRENT_USER/So ...

  4. Visual Studio Code运行Python文件出现 “Linter pylint is not installed ”提示解决办法

    运行Python代码后出现 “Linter pylint is not installed ”提示 只需要添加一行代码就可以解决 { "python.pythonPath": &q ...

  5. Visual Studio C# 利用git和github协同开发时产生冲突的解决办

    Visual Studio C# 利用git和Github协同开发时产生冲突的解决办法 前言:在前两天的助教作业中,发现了自己没有办法解决在用vs开发C#的窗体项目的过程中产生的冲突问题,在查阅了资料 ...

  6. Visual Studio 2012简体中文专业版密钥(激活码)

    VS2012 正式版在Beta版的基础上进行了很多改进,尤其是加入了全新的用户界面. VS2012 的硬件需求与VS2010相同,不过由于 Visual Studio 2012 利用了新版 Windo ...

  7. visual studio 2015 key vs2015密钥

    Visual Studio Professional 2015简体中文版(专业版)KEY:HMGNV-WCYXV-X7G9W-YCX63-B98R2Visual Studio Enterprise 2 ...

  8. Visual Studio 2022(VS2022)激活密钥

    Visual Studio 2022(VS2022) 激活码: 专业版 Pro: TD244-P4NB7-YQ6XK-Y8MMM-YWV2J 企业版 Enterprise: VHF9H-NXBBB-6 ...

  9. Visual Studio 2010编译时总是提示"调用目标发生了异常"的解决

    现象: 无论建立的是Win32 Console的解决方案,还是MFC的解决方案,重新打开Visual Studio 2010之后,编译时总是提示“调用的目标发生了异常” 解决: 1. 关闭Visual ...

随机推荐

  1. Python3 中socket使用

    1.动态导入模块 在当前目录下有lib和test目录,在test中要想使用lib中的aa的C类: test中: 第一种方法:推荐 importlib.import_module('lib.aa') o ...

  2. 51nod1478(yy)

    题目链接: http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1478&judgeId=365133 题意: 中文题诶 ...

  3. #6432. 「PKUSC2018」真实排名(组合数学)

    题面 传送门 题解 这数据范围--这输出大小--这模数--太有迷惑性了-- 首先对于\(0\)来说,不管怎么选它们的排名都不会变,这个先特判掉 对于一个\(a_i\)来说,如果它不选,那么所有大于等于 ...

  4. python学习过程(四)

    上节我们说了怎么从一个网页中获取所有的a标签,包括a标签的文本和a标签的url,以及最后经过整理,直接从网页中获取key-value键值对,也就是标签:url这种形式. 例如 : 百度: http:/ ...

  5. P1556 幸福的路

    题意:平面内有N头牛$N\le 10$john从(0,0)出发,最后回到(0,0) 只有走到牛那里john才可以改变方向,否则沿着直线走 问john经过每一头牛并且在每一头牛出恰好改变方向一次的方案( ...

  6. 缩点【洛谷P1262】 间谍网络

    [洛谷P1262] 间谍网络 题目描述 由于外国间谍的大量渗入,国家安全正处于高度的危机之中.如果A间谍手中掌握着关于B间谍的犯罪证据,则称A可以揭发B.有些间谍收受贿赂,只要给他们一定数量的美元,他 ...

  7. maven部署Tomcat(出现空白页面,最终解决)

  8. git ssh密钥的使用

    //配置邮箱,用户名, git config --global user.name git config --global user.email git config --global --list ...

  9. Codeforces Round #339 (Div. 2) A

    Description Programmer Rostislav got seriously interested in the Link/Cut Tree data structure, which ...

  10. shell编程上

    1.1  前言 1.1.1  为什么学Shell Shell脚本语言是实现Linux/UNIX系统管理及自动化运维所必备的重要工具, Linux/UNIX系统的底层及基础应用软件的核心大都涉及Shel ...