我经常使用(而据我记得它工作得很好)#if SERVICE何时工作,何时不工作?
public static void Main() {
#if SERVICE
ServiceBase.Run(new MyService());
#else
....
#endif
服务代码,所以我可以运行它作为控制台或installutil
注册并运行的服务。
但是...因为有些更新或切换到4.5.1(甚至可能在发布版本中)它只是不工作了。无论何时我使用installutil
或只是作为控制台运行,它都使用控制台的代码,例如,不是为SERVICE
,它失败了,因为我在那里使用Console.ReadKey
并确保服务无法处理它。
也许我做错了什么,有其他的方法吗?
您确定自动提供SERVICE吗?是不是你的项目配置中的东西丢了? –
就我所知,它不是,甚至是建立在项目系统的一部分。 –