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

C# 无法将参数传递给控制台应用程序,我的想法是否有缺陷?,c#,command,line,C#,Command,Line,我已经创建了一个控制台应用程序,它接收并处理一个示例文本文件。当我通过VisualStudio调试它时,它工作得很好,但是当我尝试从命令行运行它时,参数没有传递 我的理解是,我应该能够通过调用应用程序并传递如下参数来运行该应用程序: 应用程序参数 在我的情况下是这样的: C:\Users\Alex\Desktop\ConsoleApplication2.application C:\Users\Alex\Documents\Sample.txt 我有什么明显的遗漏吗 但是,这样做会产生以下异常:

我已经创建了一个控制台应用程序,它接收并处理一个示例文本文件。当我通过VisualStudio调试它时,它工作得很好,但是当我尝试从命令行运行它时,参数没有传递

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

应用程序参数

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

我有什么明显的遗漏吗

但是,这样做会产生以下异常: “未处理的异常:System.IndexOutOfRangeException:索引超出数组的边界。位于ConsoleApplication2.TestProgram.Main(字符串[]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
...
...

}

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

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

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

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

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


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

为什么您的应用程序是扩展应用程序?您没有遗漏任何东西(除了潜在的权限问题)运行该应用程序时会发生什么?我收到以下消息“未处理的异常:System.IndexOutOfRangeException:索引超出了数组的边界。在ConsoleApplication2.TestProgram.Main(String[]args)”我假设这是因为没有任何参数真正传递到应用程序中。需要注意的是,这是我第一次使用C#或Visual Studio,所以我对所有事情都有点熟悉。请显示访问器代码,然后代码的相关部分应如下所示,公共静态void Main(string[]args){System.Console.WriteLine(args[0]);//将文件作为一个字符串读取。字符串text=System.IO.file.ReadAllText(@args[0])。。。。