我有一个经常出现的.NET应用程序无法启动的问题(在我的其他系统上).事实是,遗憾的是,我不能总是创造一个顺畅运行的包.因此,我经常要发送我的Debug或Release文件夹的ZIP文件.
我真正的问题是这些应用程序没有说明为什么他们没有启动.如果我从命令行启动它们,在EventLog中,或者即使我尝试在输出上打印我的所有应用程序上的Try Catch块的结果,我也完全没有例外...我错过了什么?
大多数情况下,它缺少库或安全相关问题.但是,无痛苦地找到确切的结果会很好:D
您是否尝试过查看融合日志?苏珊·库克 (Suzanne Cook)在此发表了一篇关于此问题的文章。
另一件要做的事情(以最小化无声错误):最小化你的Main方法;这样做的原因是 JIT 对每个方法都有效,如果它不能 JIT,Main它就不能使用异常处理:
/* for winform, you still new [STAThread] here */
static void Main() {
try {
MainCore();
} catch (Exception ex) {
// shout about it
}
}
[MethodImpl(MethodImplOptions.NoInlining)] // usually overkill
static void MainCore() {
// real code
}
Run Code Online (Sandbox Code Playgroud)