C# WPF应用程序更新最佳实践-体系结构说明

C# WPF应用程序更新最佳实践-体系结构说明,c#,wpf,architecture,desktop-application,auto-update,C#,Wpf,Architecture,Desktop Application,Auto Update,这个问题不仅适用于WPF,也适用于其他编程语言,但为了我自己和其他人的缘故,我会向家里的专家征求专业意见 我正在WPF c#中启动一个桌面应用程序,应用程序模块几乎每天都会更新 以WPF C#为例,任何人都可以给出设计此类应用程序的架构说明 例如,应用程序可以执行会计、审计等操作。主窗口UI和其他UI以及应用程序中的所有应用程序逻辑会根据每日更新进行更改 更新任务应在后台执行,并将在计算机启动时启动。当用户使用程序时,更新不得干扰该程序,但应在应用程序未运行或提示用户时执行更新安装 我将感谢众议

这个问题不仅适用于WPF,也适用于其他编程语言,但为了我自己和其他人的缘故,我会向家里的专家征求专业意见

我正在WPF c#中启动一个桌面应用程序,应用程序模块几乎每天都会更新

以WPF C#为例,任何人都可以给出设计此类应用程序的架构说明

例如,应用程序可以执行会计、审计等操作。主窗口UI和其他UI以及应用程序中的所有应用程序逻辑会根据每日更新进行更改

更新任务应在后台执行,并将在计算机启动时启动。当用户使用程序时,更新不得干扰该程序,但应在应用程序未运行或提示用户时执行更新安装

我将感谢众议院专家的贡献


谢谢

您在这里描述的内容非常适合研究使用MEF

Manage Extensibility Framework将允许您使用非静态引用的库文件,这些库文件遵循您定义的标准接口。因为它们不是静态引用的,所以您可以在已安装的应用程序中替换这些库文件,而无需重新编译应用程序的其余部分

在这些术语中,任何“可替换”逻辑都应该放在这些MEF'd库中,并像插件一样处理。这样,您可以在需要时随时更新它们


至于处理检测和下载新版本插件的问题,你必须自己动手。

有整本书要回答,我们可以从哪里开始,还是提供参考?我将非常感激。谢谢你的回答,我现在正在研究这个MEF,我认为这是一个起点,我可以从这里开始。如果你以前构建过这种类型的应用程序,你如何处理下载和覆盖过程。虽然我可以从脑海中挤出一个可行的解决方案,但一个经过测试和可行的解决方案将有助于我的RAD。这将非常复杂,因为你无法从应用程序域卸载DLL,这使得重写已加载到内存中的DLL成了问题。MEF确实有一个功能,允许重建目录,但我不知道如何在引擎盖下的功能。最大的问题是覆盖正在使用的DLL。好吧,我想我必须坐下来处理这个问题。但至少给我这个暗示,剩下的应该是我的问题。上帝保佑你,真的很感激。