我已经部署了一个clickonce应用程序,在我的应用程序中我有10个外部dll.由于我的dll文件中的代码不断变化,并且很难重新分发,因此我采用了clickonce部署策略.但我想知道一件事,如果我对其中一个dll文件进行更改并将其汇编版本从1.0.0.0升级到1.0.0.1,但不更改发布版本,它仍然是1.0.0.0.此外,我已将更新设置设置为应用程序加载之前.我重新运行了安装部署,但它没有运行更新的程序集.怎么了?我正在使用VS2008和C#.NET 2.0
ClickOnce仅关注整个项目的发布版本.在"我的项目"发布标签中增加此值并再次发布.
我想补充汤姆的答案.
他是对的,ClickOnce只关心项目的发布版本.但是,一旦您的应用程序在客户端的计算机上启动并且它识别出它不是最新版本,它就会开始比较应用程序清单中的文件哈希值(应用程序清单是没有 ".application"扩展名的那个...去图) .因此,它只下载已更改的文件; 是的,没有代码更改的重新编译仍然是一个变化.
最后一点说明.客户端下载最新版本时出现的下载进度条始终显示应用程序的整个大小.但是,请放心,它只是下载更改的文件.我已经用带宽监视器进行了测试以确认它.