.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等工具稍加改动即可

时间: 2024-08-30 17:00:31

.net项目编译时,无法在证书存储区中找到清单签名证书的相关文章

函数调用时栈帧的存储位置

问题描述 函数调用时栈帧的存储位置 如何找到函数的返回地址也就是栈帧,如何用指针找到存储函数的返回地址的内存段 解决方案 告诉你了,嵌入汇编啊. 解决方案二: 嵌入一段汇编,得到ESP寄存器的值就是堆栈指针. 解决方案三: 我要的不是栈顶指针,是活动记录也就是函数的返回地址 解决方案四: 要看什么调用格式,是调用者清栈还是被调用者清栈.用栈顶指针减去偏移,就是返回地址.偏移根据你的参数和局部变量确定. 解决方案五: 不管什么调用约定.只是参数入栈顺序不一样. 都是先push参数,然后就是ret函

Windows、macOS和Linux平台设置HTTPS以及自签名证书详细指南

本文讲的是Windows.macOS和Linux平台设置HTTPS以及自签名证书详细指南, 在本文中,我会向大家介绍如何在Windows.macOS和Ubuntu Linux上设置使用HTTPS与ASP.NET Core的本地开发环境,另外,我还将介绍如何创建自签名证书并将其添加到受信任的根证书存储区,以消除烦人的浏览器提示消息.最后,我将介绍如何设置用于ASP.NET Core的内置Web服务器的Kestrel来使用HTTPS. 创建自签名证书,设置信任项,就可以避免烦人的浏览器提示,记录了自

C++中静态存储区与栈以及堆的区别详解_C 语言

学习c++如果不了解内存分配是一件非常可悲的事情.而且,可以这样讲,一个C++程序员无法掌握内存.无法了解内存,是不能够成为一个合格的C++程序员的.一.内存基本构成可编程内存在基本上分为这样的几大部分:静态存储区.堆区和栈区.他们的功能不同,对他们使用方式也就不同.静态存储区:内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在.它主要存放静态数据.全局数据和常量.栈区:在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放.栈内存分配运算

Java中存储区的分类

Java中把存储区分为6类.分别为寄存器(register).栈(stack).堆(heap).静态存储区(static storage).常量存储区(constant storage)以及非随机存取存储区(Non-RAM). 1. 寄存器(register).寄存器与其他的存储区不同,它位于CPU中,所以它是存取速度最快的存储区.但是由于CPU中寄存器的数量是非常有限的,所以寄存器的使用是由CPU按需进行分配.编程的时候我们没有必要去对它进行直接控制.并且在程序中也没办法找到到底什么时候使用了

全局静态存储区、堆区和栈区深入剖析_C 语言

在C++中,内存可分为系统数据区,自由存储区,文本区,const数据区,全局静态区,堆区和栈区.其中,系统数据区存放的是系统数据,我们是不能自由访问的,有时候windows系统会突然弹出一个消息框,内容是"内存不能为read"就是错误访问系统数据区的结果:自由存储区用来存放由C延伸而来的malloc()函数所分配的数据:文本区存放着我们的函数代码,我们调用函数时的底层行为就类似于先去操作一个指针,而这个指针就指向函数指令所在的地址,也就是在文本区中:const数据区,顾名思义,就是存放

Windows Phone存储区的大量空间被吃掉

对于许多Windows Phone用户而言,他们最关心的问题是"其他"存储区中到底放着什么东西,导致大量空间被吃掉.微软Windows Phone企划管理部企业副总裁Joe Belfiore在新浪微博上特意提到了这个问题. Joe Belfiore 的上镜率极高,每一次 Windows Phone 的重要发布会和宣传片中他都有可能会出现.为了表示对中国市场的重视,今年七月他正式入驻新浪微博,解答国内用户的提问. 这位微软高管表示,自他开通微博以来,被问到最多的问题就是"其他&

SQL Server中的TempDB管理——TempDB基本知识(为什么需要版本存储区)

原文:SQL Server中的TempDB管理--TempDB基本知识(为什么需要版本存储区) 参考资料来自: http://blogs.msdn.com/b/sqlserverstorageengine/archive/tags/tempdb/ http://blogs.msdn.com/b/sqlserverstorageengine/archive/2008/12/22/managing-tempdb-in-sql-server-tempdb-basics-verison-store.as

Android如何编写基于编译时注解的项目

一.概述 在Android应用开发中,我们常常为了提升开发效率会选择使用一些基于注解的框架,但是由于反射造成一定运行效率的损耗,所以我们会更青睐于编译时注解的框架,例如: butterknife免去我们编写View的初始化以及事件的注入的代码. EventBus3方便我们实现组建间通讯. fragmentargs轻松的为fragment添加参数信息,并提供创建方法. ParcelableGenerator可实现自动将任意对象转换为Parcelable类型,方便对象传输. 类似的库还有非常多,大多

利用APT实现Android编译时注解

一.APT概述 我们在前面的java注解详解一文中已经讲过,可以在运行时利用反射机制运行处理注解.其实,我们还可以在编译时处理注解,这就是不得不说官方为我们提供的注解处理工具APT (Annotation Processing Tool ). APT用来在编译时期扫描处理源代码中的注解信息,我们可以根据注解信息生成一些文件,比如Java文件.利用APT为我们生成的Java代码,实现冗余的代码功能,这样就减少手动的代码输入,提升了编码效率,而且使源代码看起来更清晰简洁. 从Java5开始,JDK就