【问题标题】:VB.net application is keeping previous versionsVB.net 应用程序保留以前的版本
【发布时间】:2020-10-27 01:26:06
【问题描述】:

我有一个正在发布的 Visual Basic 项目,并且每次都会增加版本号。

当我安装新版本时,它会打开,但一旦应用程序重新启动,它似乎会恢复到以前的版本,我不知道为什么。

【问题讨论】:

  • 您是否指定了应用程序属性中所需的最低版本?
  • 听起来您可能没有正确使用 Click-once 基础架构。我猜您的应用程序中的某些内容“记住”了它以前安装的版本,并打开该版本而不是新版本。请参阅下面关于如何使用发布来确保您的用户可以安装正确的版本并保持应用程序自动更新的答案。

标签: .net vb.net clickonce versioning


【解决方案1】:

尝试更新发布应用程序时所需的最低版本 转到应用程序属性 -> 发布 -> 更新...:

如果您想自动执行此操作并强制用户仅使用最新版本,您可以使用MSBuild 更新vbproj 文件

  1. 在 Visual Studio 中,右键单击该项目,然后单击 Unload Project

  2. 右键项目,点击Edit

  3. 在关闭</Project>元素之前复制并粘贴以下代码

    <Target Name="AutoSetMinimumRequiredVersion" BeforeTargets="GenerateDeploymentManifest">
      <FormatVersion Version="$(ApplicationVersion)" Revision="$(ApplicationRevision)">
        <Output PropertyName="MinimumRequiredVersion" TaskParameter="OutputVersion"  />
      </FormatVersion>
      <FormatVersion Version="$(ApplicationVersion)" Revision="$(ApplicationRevision)">
        <Output PropertyName="_DeploymentBuiltMinimumRequiredVersion" TaskParameter="OutputVersion"  />
      </FormatVersion>
    </Target>
    
  4. 保存并重新加载项目

【讨论】:

  • 使用这个应用程序的用户都在不同的位置,而不是在同一个网络上,那么它应该在哪里检查更新?
  • 如何发布应用程序,使用 ftp?或者只是将发布的文件复制到某个目录?
  • 我从存档中制作了一个 .exe,并将其作为单个文件上传到网络
  • 所以你不是用 clickonce 发布的!您需要在使用 Visual Studio 发布后上传 *.application 文件(带有您的 exe 文件),用户必须下载并安装带有“应用程序”扩展名的文件才能启动应用程序,它将自动检查更新,请参阅@987654322 @
  • @charlie 请参阅下面的答案:您可以提供指向安装文件的公共 url,该文件可以运行和安装应用程序。我已经根据您在设置中提供的内容指明了您的应用程序的 URL。如果您需要限制访问,那么也许您可以通过密码保护该网址?
【解决方案2】:

Click-once 应用程序的全部意义在于,它被上传到某个 URL,客户端可以在该 URL 中获取最新版本、自动安装并稍后检查更新。您可以在项目设置的发布下指定这些内容。

在此处提供正确数据后,您就可以发布您的应用,并让您的用户从安装文件夹 URL 安装它。

更新(上图中的按钮)下,您可以指定应用程序是否应离线使用,最低要求的版本应该是多少(确保更新它以强制更新!),以及应用何时检查更新。

如果您设置正确,那么每当用户在客户端上启动应用程序时,应用程序应该会自行更新,并且服务器上有可用的新版本。

PS:下载应用程序的完整 URL 应如下所示:

http://publicaddress.to.that.folder/YorApp/Your.Project.Name.application

这里Your.Project.Name是您在Visual Studio中的项目名称,.application是安装文件的文件扩展名。

【讨论】:

    【解决方案3】:

    尝试CleanRebuild 项目。

    【讨论】:

    • 首先尝试更改源代码位置并重建,否则尝试这个:
    • 删除 Internet 选项中的历史记录和缓存。进入 Internet 选项(在 VS 中也可以通过工具 > 选项 > 环境 > Web 浏览器 > Internet Explorer 选项)。在常规选项卡上,单击浏览历史记录部分中的设置。在 Temporary Internet Files 页面上选择每次启动 Internet Explorer 在 History 选项卡上将 Days to keep history 设置为 0 在 Caches and Database 选项卡上确保未勾选允许网站缓存和数据库。尝试对文件进行一些更改,到目前为止,它们已直接反映在动态版本中,没有任何不妥
    • 我们当然不应该在每台安装了软件的 PC 上都这样做吗?
    • 你先在单机上试试,如果有问题,那你需要在所有PC上做,否则我们寻找另一种解决方案
    猜你喜欢
    • 2019-09-06
    • 2015-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-12
    • 1970-01-01
    • 1970-01-01
    • 2011-02-01
    相关资源
    最近更新 更多