ClickOnce清单签名取消后依然读取证书的问题

http://www.cnblogs.com/heroius/p/8270004.htmlhttp://www.cnblogs.com/heroius/p/8278796.html中,通过编辑csproj文件可以解决 旧版nuget独立程序依赖 和 FxCop残留路径的问题。

实际上,通过编辑项目文件的方式可以解决很多与项目编译相关的问题。

如果在VS2017之前的VS中为程序项目开启了ClickOnce,并指定了清单签名证书,那么在取消ClickOnce后,会在csproj文件中残留有关的配置。

这些配置在本机操作时不会有问题,但是,当使用git、或者新装系统后,则会遇到麻烦,这是因为:

  • git自动忽略私钥文件;
  • 新装VS程序没有原证书的存储信息。

以上两者都需要重新输入私钥密码以获取使用权,但是由于项目文件中留有ClickOnce清单签名的证书信息,同时这个证书实际上因为没有使用而没有包括在项目中,因此在生成时会提示无法读取密钥,并(依然)要求禁用clickonce清单签名(虽然在项目属性中已经禁用了)。

为了解决此问题,就又要以文本方式编辑项目文件了。(为什么要说又呢)

搜索 manifest 找到ClickOnce清单签名证书标记,删除即可。

当然,建议在操作之前进行备份,并在操作后加载项目以确保没有误删必要的设置。

原文地址:https://www.cnblogs.com/heroius/p/8278840.html