【发布时间】:2015-11-21 11:39:32
【问题描述】:
我有一个 WPF 应用程序,它采用命令行参数,在某些情况下返回退出值而不启动应用程序。我已经替换了这个问题Replacing the WPF entry point中的入口点。 当我在没有参数的情况下在 Visual Studio 中运行时,它会按预期启动我的应用程序。当我提供一个参数时,一切看起来都很好,我得到一条线告诉我“程序 XXX 已退出,代码为 66”
当我在没有参数的情况下从 CMD 命令行运行时,它会按预期启动应用程序。当我提供一个参数并查看 %ERRORLEVEL% 时,我得到一个退出代码 0 而不是 66。这里给出了什么?
namespace WpfApplication2
{
public class EntryPoint
{
[STAThread]
public static void Main(string[] args)
{
if (args.Count > 0)
{
Environment.Exit(66);
}
App.Main();
}
}
public partial class App : Application
{
}
}
【问题讨论】:
-
我创建了一个快速的 c# 控制台应用程序来使用 Process.Start 调用应用程序并报告退出代码,当我使用参数运行我的应用程序时,它正确地报告了退出代码 66。所以纯粹是命令行上的错误。
标签: c# wpf exit-code entry-point