我有一个可以正常编译的 C# 项目。当我通过 Visual Studio 的 IDE 运行该项目时,它运行良好并干净利落地结束。但是,当我导航到项目目录并尝试通过双击“exe”文件或通过运行窗口引用它来运行程序时,它会出错。
我已经将问题缩小到
Console.WriteLine("output ->" + any_variable);
出于某种原因,如果我使用 console.writeline 打印任何变量,如果按前面所述运行,应用程序将出错。
如果我去掉这一行,如果我双击它,Visual Studio 创建的可执行文件将运行得很好。我真的很困惑。我的目标是将此命令行项目创建为计划任务。
最佳答案
我假设错误与 WriteLine
甚至 Console
没有任何关系。虽然从 IDE 运行和从双击运行之间的一个共同区别可能是权限(即,您可以以管理员身份启动 IDE,或者您正在写入/读取的位置不同并且附加了不同的 ACL它),这里似乎不是这种情况。
要捕获实际错误,请编译到 Debug模式。启动您的应用程序(可能带有某种消息框)。启动 IDE 并选择 Debug 和 Attach to process(如果您使用消息框暂停您的应用程序,您将一直有时间)。选择您的流程。运行直到收到错误。您现在应该在 IDE 中收到错误,即使应用程序是通过双击 EXE 运行的。您可以像往常一样查看堆栈和调试。
我猜?您正在打印的变量做了一些引发错误的事情。
或者:围绕有问题的语句进行简单的 try/catch 以及带有 Exception.Message
的消息框也应该给您更多的情报。
关于C# 命令行项目 - 通过 .exe 运行时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3303820/