我正在使用C#开发一个控制台应用程序,它应该只在每周的特定日期/时间运行一次。当我修改,发布和安装应用程序时,安装程序始终运行该程序。我必须在我的代码开头添加一个if语句来比较我必须在我重新编译/重新发布时手动更改的当前日期/时间,以确保在安装新版本时程序不运行。虽然这样做有效,但这样做似乎很愚蠢。
我确定我在某个地方错过了一个明显的设置,而我只是在等待一些英雄给我一天的时间。
谢谢!
(编辑以更准确地描述时间表。)
答案 0 :(得分:2)
如果你的问题是无法控制安装或发布进程是否会运行程序 - 你可以让你的主要运行某个命令行参数,没有它 - 它只会退出。
如果程序是通过调度程序运行的,请让调度程序传入正确的参数。
例如
public static void Main(string[] args)
{
if (args.Length == 1 && args[0].Equals("NOW_IS_THE_TIME"))
{
// Run
}
}
您还可以在设置中保存一个标记,指示它是否是第一次运行,如Install ClickOnce without running
中提议的那样