membership DB生成 & dll 强命名 & 证书生成

UPD(Membership)数据库安装
1.使用 Aspnet_regsql.exe 安装数据库

在 C:\WINDOWS\Microsoft.NET\Framework\\aspnet_regsql.exe
2.一步步按照指引即可

ClickOnce需要创建证书
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64

1、创建一个自我签署的X.509证书(.cer)和一个.pvk私钥文件,用到makecert工具,命令如下:
makecert -r -n "CN= cncxz " -b 01/05/2017 -e 01/05/2020 -sv vmr.pvk vmr.cer
按提示设置私钥密码(也可以不使用密码)即可在当前目录生成相关文件
2、利用X.509证书(.cer)创建发行者证书 (.spc),用到cert2spc工具,命令如下:
cert2spc vmr.cer vmr.spc
3、从.pvk和.spc格式转换成.pfx格式,用到pvkimprt工具,命令如下:
pvkimprt -pfx vmr.spc vmr.pvk
按提示操作可导出.pfx证书,若第1步设置了私钥密码,此处需要输入验证
4、在vs项目的ClickOnce清单签名的证书设置处点击“从文件选择”浏览定位到第3步导出的.pfx证书,此处需要验证第3步中设置的证书私钥密码。

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
从微软网站(http://download.microsoft.com/download/vba50/Utility/1.0/NT5/EN-US/pvkimprt.exe)下载的那个pvkimprt.exe是个压缩文件,
解压后的文件一个Pvkimprt.exe和一个文本文件,这个Pvkimprt.exe文件是个安装文件!必须安装后产生的Pvkimprt.exe才是我们需要的命令文件!
微软害人不浅啊,O(∩_∩)O哈哈~ 希望像下面的英文作者一样能帮助遇到同样问题的中文开发者。
注意:项目lib下是安装后产生的exe文件
C:\Windows

 

为DLL文件添加强名称
程序在编译时出现类似 "错误 1 程序集生成失败 -- 引用的程序集“XXXXXXXXXX”没有强名称" 这样的错误,是因为它不是强名称的,则需要进行以下操作:

例如:Newtonsoft.Json.dll

1.打开VS的SDK 命令提示窗口;

2.创建一个新的随机密钥对:

sn -k Newtonsoft.Json.snk
3.反编译目标程序集
ildasm Newtonsoft.Json.dll /out=Newtonsoft.Json.il
3.重新编译,附带强命名参数
ilasm Newtonsoft.Json.il /dll /resource=Newtonsoft.Json.res /key=Newtonsoft.Json.snk /optimize
4.验证签名信息
sn -v Newtonsoft.Json.dll

posted @ 2017-05-18 11:43  jeffery1010  Views(202)  Comments(0Edit  收藏  举报