我刚刚打开了几年前部署的控制台应用程序的源代码,每天运行两次作为我们服务器上的Windows计划任务(它会更新数据库中的内容)。部署时运行得很好,但现在我们需要进行一些代码更改。我尝试在Debug中运行它,程序甚至不会进入sub main。它命中了
static void Main(string [] args)并且刚刚结束运行。控制台窗口消失。我没有从客户那里听说生产版本没有运行,但是当我检查他们的服务器时,我没有看到应该的事件日志条目(应用程序每次运行时应该写入事件日志)
答案 0 :(得分:3)
这可能是DLL问题。
如果Main()
使用JITter找不到的程序集中的类型,程序将在点击Main()
之前死亡。
如果包含Main()
的类型包含无法加载的类型的字段,也会发生这种情况。
如果该类型的静态构造函数调用Environment.FailFast()
。
答案 1 :(得分:0)
如果您在运行该应用程序的计算机上没有正确版本的.NET框架,我也会看到这种情况。 也许您在重新编译时更改了目标框架版本。