在内存中运行时自行更新应用程序

问题描述:

我有一个由计划任务触发的控制台应用程序。我想要在新线程中永久运行此控制台应用程序,并且随时放置新版本的控制台应用程序,它应该运行主代码。 (也许一旦主代码完成执行后,它应该在控制台exe上运行一个监视器线程。当exe被更改时,shell执行可以再次调用到控制台应用程序并且原始线程中止?)。在内存中运行时自行更新应用程序

+0

也许它不需要一个新的线程。也许我可以通过执行控制台应用程序的回调来添加文件缓存依赖项。但是,当控制台应用程序完成执行并退出时,我猜测缓存已被清除。 – user666423

+0

我不认为你将能够在运行时替换控制台应用程序exe。控制台应用程序是否长期运行?您是否希望控制台应用程序在预定时间运行,但是如果放置了新版本,那么除了预定时间之外,还要立即运行它? – hatchet

重写您的main函数以在单独的AppDomain中运行代码的实际逻辑。当准备安装更新时,请关闭该AppDomain并使用新代码启动另一个AppDomain。

+0

优秀的应用领域应该做到这一点。 – user666423