【问题标题】:How to make Patch-able/Update-able application?如何制作可修补/可更新的应用程序?
【发布时间】:2010-07-08 20:37:55
【问题描述】:

我已经完成了一个学生项目,这个项目从互联网上的 xml 文件中提取数据并保存到数据库并显示它。我以几种不同的方式使用这些数据,例如显示在主页上,在另一个选项卡中作为表格显示,并创建一些图表。

我通过制作 5 个不同的课程来完成这一切。每个类都提取不同类型的 XML,并使用单个 Load() 函数将其保存到数据库中。

项目的最后一个要求是使应用程序可更新/可补丁(用户不需要下载整个新版本来更新应用程序,而是一个小的补丁安装程序将为应用程序添加功能)。我怎么做?我的老师说添加多态会有所帮助,一位朋友说创建不同的应用程序模块(将其分成几部分),以便每个类都有自己的 dll。

我需要执行哪些步骤才能使其可修补?如何创建类的dll?如何将应用程序分成几部分?或者所有这些都是不必要的,我应该只使用一个补丁软件,通过比较两个版本来创建补丁??

【问题讨论】:

    标签: c# .net installation patch


    【解决方案1】:

    您需要按照以下步骤操作:

    1. 在您的解决方案中创建新的课程项目,为您拥有的每个课程创建一个。
    2. 为您的主项目添加一个引用,为您创建的每个新项目添加 1 个。
    3. 此时一切都应该可以编译,就像 Henk 所说,如果您不更改程序集的公共部分,一切都应该没问题。

    如果您想更进一步,请创建一个新接口并让该接口在您的类中实现方法。让你所有的类都实现这个接口。只要接口没有改变,你可以改变任何你想要的关于程序集和类的东西(只要你的类继续实现接口)

    【讨论】:

    • "添加对您的主项目的引用,为您创建的每个新项目添加 1 个。"但是下面的 Henk Holterman 说“选择原始项目并使用 Add Reference 添加 asm”
    • 无论如何,谢谢。我对如何添加 dll 有了一些想法。正如我所说,目前我已经从一个包含一些数据提取功能的类中继承了我的所有类(提取节点的 innerText 并将其转换为所需的类型)。这种方法正确吗?如果是我如何从这个类继承所有 dll 项目?对不起,如果问了一些愚蠢的事情
    • 现在我已经制作了一个DLL。如何为此制作更新补丁?人们谈论 ClickOnce,但它更新了应用程序。虽然我需要创建一个安装程序补丁来更新我的应用程序的库或其他文件?
    • ClickOnce 是一种部署技术。如果您是公司或私人资助的程序员,您将使用它来部署您的应用程序。但是,您可能无法使用它,因为我认为 ClickOnce 应用程序需要代码签名许可证(每年花费 200 美元到 1200 美元不等。您要做的是创建一个更新程序来删除现有的 DLL并将新的 DLL 版本复制到应用程序目录。
    • 更进一步,您需要将更新程序应用程序与您的主应用程序一起分发。让您的主应用程序检查新的更新(通常通过在您的应用程序网站上维护一个 XML 文件)。主程序应下载此 XML 文件,然后执行更新程序。您的更新程序应查看此 XML 文件以确定哪些文件需要更新并复制相应的文件。 XML 文件应该包含您随应用程序分发的所有文件的列表以及版本号。这有意义吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-13
    • 1970-01-01
    • 2020-06-19
    • 2011-03-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多