使用#if DEBUG和Main参数

Con*_*per 1 c#

我在我的控制台应用程序中编写了这段代码:

#if DEBUG
            args = new[] {"4478676e34432432434"};
#endif

            if (args == null)
            {
                Console.WriteLine("Please enter IP for single testing for now.");
            }
Run Code Online (Sandbox Code Playgroud)

当测试人员想要测试我的应用程序并忘记输入参数来运行应用程序时,我仍然希望他看到该消息.但现在它不会这样做.这是否意味着我是否应该将构建也放在" Release"?这是否"DEBUG"意味着如果我们在VS IDE或者它是否意味着如果我们在调试/发布版本中?

Chr*_*ens 5

你可以给他们一个发布版本.这可能是最好的,因为@JoeEnos在他对你的问题的评论中指出了这一点.

无论哪种方式,最好在项目属性中指定命令行参数,而不是在条件中#if DEBUG.但是,Visual Studio会将它们添加到本地项目属性中,因此不会将其与项目签入,这意味着其他开发人员将不会使用您使用的命令行参数.根据我的经验,我发现这是一件好事.

有关为调试添加命令行参数的信息,请查看此MSDN条目

指定用于调试的命令行参数

在解决方案资源管理器中选择项目后,在"项目"菜单上单击"属性".

单击"调试"选项卡.

在"命令行参数"字段中,输入要使用的命令行参数.