zoukankan      html  css  js  c++  java
  • .net项目编译时,无法在证书存储区中找到清单签名证书

    编译.net项目时,出现无法找到清单签名证书的状况,用方法3解决了。用方法1和2只能顺利编译,但不能发布。

     

    最直接有效的方法是1,2和1效果一样只不过是处理的步骤多几步:

    1.工程->属性->签名->为ClickOnce清单签名
    2.用记事本打开对应csproj文件。将
    <SignManifests>true</SignManifests>改为
    <SignManifests>false</SignManifests>.

    3.在vs2005中出现“无法在证书存储区中找到清单签名证书”,解决办法是用记事本打开项目的.csproj文件,删除类似以下xml就能顺利通过编译了
    <ManifestCertificateThumbprint>B531F2CF222748C5E29308FC2247704827D1EA8C</ManifestCertificateThumbprint>
    <ManifestKeyFile>xxxx_TemporaryKey.pfx</ManifestKeyFile>
    <GenerateManifests>true</GenerateManifests>
    <SignManifests>true</SignManifests>
    <PublishUrl>D:\xxx\bin\</PublishUrl>
    <Install>true</Install>
    <InstallFrom>Disk</InstallFrom>
    <UpdateEnabled>false</UpdateEnabled>
    <UpdateMode>Foreground</UpdateMode>
    <UpdateInterval>7</UpdateInterval>
    <UpdateIntervalUnits>Days</UpdateIntervalUnits>
    <UpdatePeriodically>false</UpdatePeriodically>
    <UpdateRequired>false</UpdateRequired>
    <MapFileExtensions>true</MapFileExtensions>
    <CreateWebPageOnPublish>false</CreateWebPageOnPublish>
    <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
    <IsWebBootstrapper>false</IsWebBootstrapper>
    <BootstrapperEnabled>true</BootstrapperEnabled>


     

    出现以上原因可能是:clickone自动生成的证书过期了(有效期只有一年,且不能修改延长),
    若是重新生成新的证书客户端自动更新将失败。你可以在程序发布前自己生成证书,把时间延长个若干年。采用MakeCert.exe等工具稍加改动即可


    下面的方法也来自网络:

    方案1:右击项目属性—>签名—>为ClickOnce清单签名,将勾掉的选项去掉。

    方案2:在签名中创建一个新的签名。

    方案3:记事本打开相应的csproj文件,调整节点值。<SignManifests>true</SignManifests>将true修改为false。



  • 相关阅读:
    ES6 promise 常用方法介绍
    js判断元素是否在可视区域里
    alert之后才执行
    jquery总结和注意事项
    java中unicode和中文相互转换
    html href页面跳转获取参数
    myBatis批量添加实例
    mybatis中返回自动生成的id
    遍历map的四种方法
    MyBatis魔法堂:Insert操作详解(返回主键、批量插入)
  • 原文地址:https://www.cnblogs.com/googlegis/p/2978814.html
Copyright © 2011-2022 走看看