因为生成的DLL文件的版本号是在 AssemblyInfocs 这个文件中来维护的 这个文件在项目的properties文件夹中 如果你给客户部署的DLL版本是“[assembly:AssemblyFileVersion("16")]”。 那你在修改代码后就要把“[assembly:AssemblyFileVersion
代码木有
思路一堆
如果您的程序想删除原本的
友情提示看看百度影音的做法吧
直接新建了一个文件夹
删除原本的文件夹
这个是比较极端的
您可以尝试这次的更新程序下载下来2个EXE一个是主程序_TEMPEXE一个是UPDATEEXE
然后执行UPDATEEXE
关闭自己
UpdateEXE
删除原本的内容
更改主程序_TEMPEXE
为主程序exe
这下就把原本的程序完美替换了
/切割/
但是以前见过单文件自己更新自己的,不知道是否是经过打包
但文件自己更新自己是这样子滴动态生成一个BAT然后执行他就好了执行完了BAT自行删除这个就很简易了
但是您要考虑到BAT要是删除失败可就比较恶心了
如果您不关心原本的程序
或不关心原本程序的废除DALL冗余的文件
那么就简单了
但是也有前提:
前提是;你的主程序EXE
也就是你执行更新这一段代码的EXE程序自己不更新否则由于进程锁无法更新
其实也能仿
例如下载的新的EXE名字改一下生成BAT删除原本EXE更改名字BAT自行删除
/再割/
您说的自己更新自己是CLICKONCE吧
他是微软自己实现的通过WINDOWS的一个组件
前提当然也就是您说的打包了
而且整个打包方式都不同
签名的问题
一、项目的属性->Signing选项->Sign the ClickOnce manifests 勾去掉编绎通过
二、手工打开 csproj ,删除下面四句:
<manifestcertificatethumbprint></manifestcertificatethumbprint>
<manifestkeyfile></manifestkeyfile>
<generatemanifests></generatemanifests>
<signmanifests></signmanifests>
删除后就可以正常编译了。
以上就是关于如何获取 ClickOnce 部署的应用程序的发布版本号全部的内容,包括:如何获取 ClickOnce 部署的应用程序的发布版本号、c#如何解决更新程序并删除自身。、c#程序不能更新等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)