Windows应用程序.exe不通过修改Main方法进行更新

时间:2012-09-12 19:43:34

标签: c# winforms command-line-arguments

我已经创建了Windows应用程序..我需要向Main方法添加参数,所以我通过重载string []参数来改变我的main方法。

如果我更改了对Program class main方法的任何更改,它不会通过我的应用程序更新.exe为什么?

复制代码在更改Program.cs之前

static class Program
{
    /// <summary>
    /// The main entry point for the application.
    /// </summary>
    [STAThread]
    static void Main()
    {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        Application.Run(new Form1());
    }
}

在向mainb方法添加参数后复制下面的代码我正在检查值并从其他类调用方法

static class Program
{
    private static string x= string.Empty;
    private static string y= string.Empty;
    private static string z= string.Empty;

    public static void Main(string[] args)
    {
        try
        {
            if (args.Count() > 0)
            {
                if (args.Count() != 3)
                {
                    RootDirectory = args[0];
                    SourceFile = args[1];
                    DestinationFile = args[2];
                    Form1.GetCommandLineArgs(x, y, z);
                }
                else
                {
                    throw new Exception("");
                }
            }
            else
            {
                throw new Exception();
            }
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
        }
        catch (Exception ex)
        {
            Common.AppUtilties.LogError(ex, "OnFailure, " + ex.Message);
            Environment.Exit(0);
        }
    }
}

1 个答案:

答案 0 :(得分:0)

虽然没有直接回答问题,但使用

可能会更好

Environment.GetCommandLineArgs

我通常将此用于winforms,因为您可以从代码中的任何位置访问args。