无法将参数传递给控制台应用程序,我的想法有缺陷吗?

时间:2017-01-10 22:01:11

标签: c# command line

我已经创建了一个控制台应用程序,它将一个示例文本文件放入并处理它。当我通过Visual Studio调试它时,这很好,但是当我尝试从命令行运行它时,参数不会被传递。

我的理解是我应该能够通过调用它并传递参数来运行应用程序,如:

应用程序参数

在我的情况下会是这样的: C:\ Users \ Alex \ Desktop \ ConsoleApplication2.application C:\ Users \ Alex \ Documents \ Sample.txt

有什么明显的东西我不见了吗?

但是这样做会产生以下异常:  "未处理的异常:System.IndexOutOfRangeException:索引超出了数组的范围。在ConsoleApplication2.TestProgram.Main(String [] args)"

参数应该通过C#代码访问,如下所示

public static void Main(string[] args)
        {
            System.Console.WriteLine(args[0]);
            // Read the file as one string.
            string text = System.IO.File.ReadAllText(@args[0]);
...
...
rest of method here
...
...

}

2 个答案:

答案 0 :(得分:0)

如果从命令提示符运行它,则以下代码应打印出控制台的第一个参数:

class Program
{
    static void Main(string[] args)
    {
        if(args.Length > 0)
            Console.WriteLine(args[0]);
    }
}
  • 在Visual Studio中构建应用程序。

  • 在解决方案资源管理器中右键单击项目,然后选择“在文件资源管理器中打开文件夹”

  • 浏览到bin / Debug或bin / Release文件夹或您正在使用的任何构建配置
  • .exe 的路径粘贴到命令提示符中并运行它:

enter image description here

答案 1 :(得分:0)

谢谢大家帮我解决这个问题。问题源于我试图运行的文件。当我想从命令提示符运行exe时,我已经通过visual studio发布了一个应用程序。

这里很棒的第一次体验;)