【问题标题】:clickonce same publish version but assembly version different, update not happeningclickonce 相同的发布版本但程序集版本不同,更新不会发生
【发布时间】:2010-10-17 19:43:34
【问题描述】:

我已经部署了一个 clickonce 应用程序,在我的应用程序中我有 10 个外部 dll。由于我的 dll 文件中的代码不断变化并且很难重新分发,我采用了 clickonce 部署策略。但我想知道一件事,如果我对其中一个 dll 文件进行更改并将其程序集版本从 1.0.0.0 升级到 1.0.0.1,但不更改发布版本,它仍然是 1.0.0.0。此外,我已将更新设置设置为在应用程序加载之前。我重新运行了安装部署,但它没有运行更新的程序集。怎么了? 我正在使用 VS2008 和 C#.NET 2.0

【问题讨论】:

    标签: c# deployment clickonce


    【解决方案1】:

    我想添加到Tom's answer

    他是对的,ClickOnce 只关心项目的发布版本。但是,一旦您的应用程序在客户端计算机上启动并且它识别出它不是最新版本,它就会开始比较应用程序清单中的文件哈希(应用程序清单是没有“.application”的那个扩展名...去图)。因此,它只下载已更改的文件;是的,没有代码更改的重新编译仍然是一个更改。

    最后一点。客户端下载最新版本时出现的下载进度条始终显示应用程序的整个大小。但是,请放心,它只是下载更改的文件。我已经用带宽监视器进行了测试以确认它。

    【讨论】:

    • 你能澄清一下检查最新版本的意义吗?应用程序检查的是程序集版本还是发布版本?我已将其设置为在每次运行之前检查更新。
    • 它检查发布版本。它完全忽略了程序集版本,除了更改程序集版本很可能会生成不同的文件哈希。所以这是一个两步过程:1.检查发布版本2.如果发布版本不同,请下载所有具有不同哈希值的文件。
    • 这是有道理的。非常感谢,它肯定会帮助我!
    【解决方案2】:

    ClickOnce 只关心整个项目的发布版本。在“我的项目”发布选项卡中增加此项并再次发布。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-03-11
      • 1970-01-01
      • 1970-01-01
      • 2019-09-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多