【问题标题】:AppDomain missing or depricated in Windows 10 IoT Core and UWPWindows 10 IoT Core 和 UWP 中缺少或弃用 AppDomain
【发布时间】:2016-04-08 12:40:21
【问题描述】:

对于 Raspberry Pi2 上的 Windows 10 IoT Core 应用程序,我需要使用启动器应用程序或 StartUp-Task,它会创建我的应用程序的卷影副本并启动它。我需要使用这种方法能够在运行时替换 DLL,而无需锁定 DLL 并且不会中断正在运行的服务。这是必需的,因为运行它的设备会在遥不可及的地方,部署在客户的站点上,我需要运行我的应用程序来为设备提供服务。更新我的 DLL 后,我将重新启动它,它将与新库一起运行,将启动器作为默认应用程序启动,然后启动我的应用程序。

在 Windows 10 和 UWP 之前,方法是使用 .NET Framework 中 mscorlib.dll 中的 System.AppDomain 在缓存目录中创建新的 AppDomain。配置、可执行文件和 DLL 将被复制到缓存目录并从那里运行。这使得原始 DLL 可用于替换并且不会锁定它们。这也是 IIS 和 webapps 中使用的一种非常有用的技术,即使代码需要更新,它们也需要不间断地运行。开放式威胁会继续为开放式请求提供服务,直到这些请求完成,并且将使用新的更新版本为新请求提供服务。

现在 Windows 10 System.AppDomain 不再可用。我尝试了 Windows.System.ProcessLauncher,但遇到了几个问题。首先,我必须在注册表中注册 EXE 以允许启动它。然后它告诉我我只能从应用程序容器运行它。到目前为止,我还没有让它工作。恕我直言,这只是一种乏味且混乱的方法。

现在我的问题是:您会使用什么来替代 Windows 10 IoT Core 上所描述的旧方法?有没有人有一个小的示例代码可以分享?或者也许是指向正确方向的链接?任何意见,将不胜感激。

【问题讨论】:

    标签: c# .net uwp windows-10-iot-core


    【解决方案1】:

    此方法与通用 Windows 平台应用模型不兼容。

    您必须推送应用程序的更新包。

    【讨论】:

    • 是的,不幸的是,情况似乎如此。臭虫。交换单个 DLL 比推送一个全新的应用程序包要方便得多。推送更新的包也意味着应用程序将被终止并且不再运行,这终止了我与设备的连接,因此我无法用它做任何事情。似乎我必须使用 Azure IoT Suite 来推送新的应用程序包。这太不方便了,他们不再支持这种完美的工作方法。 :(
    猜你喜欢
    • 2020-09-14
    • 1970-01-01
    • 2017-06-02
    • 1970-01-01
    • 2019-07-12
    • 2020-02-24
    • 2018-12-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多