0

я провел хороший, пытаясь получить этот простой код для чтения из командной строки:C не читает из командной строки, так как она должна

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 

namespace ConsoleApplication3 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      if(args.Length > 0) 
      { 
       for (int i = 0; i < args.Length; ++i) 
        System.Console.WriteLine(args[i]); 
      } 
      else System.Console.WriteLine("NO COMMAND INPUT DETECTED"); 
      System.Console.ReadLine(); 
     } 
    } 
} 

При вводе команды:

ConsoleApplication3.application "pleasework"

Я получаю следующее сообщение в командной строке:

NO COMMAND ВХОД ОБНАРУЖЕН

указывает, что командная строка работает неправильно. Есть предположения? Мне очень плохо с Visual Studio (это 2012 год), поэтому я полагаю, что есть какое-то особое свойство, которое мне нужно изменить или что-то смешное.

Спасибо!

+1

Там нет ничего плохого с кодом. Где вы входите в команду? – keyboardP

+0

Во избежание проблем с UAC - вы пытались запустить cmd.exe в качестве администратора? –

+0

Я запускаю это как из командной строки VS 2012, так и из обычной командной строки Windows. – Erroldactyl

ответ

1

Используя это:

using System; 

namespace ConsoleApplication1 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      Console.WriteLine(args.Length); 

      Console.Read(); 
     } 
    } 
} 

Я был в состоянии пойти в моей командной строки и выполните команду:

C:\ProjectPath\ConsoleApplication1\bin\debug\ConsoleApplivation1.exe "Test" "Test2" 

С результатом:

2 

Edit: Похоже, что вы работаете в консольное приложение ClickOnce. Это усложняет то, что вы хотите сделать, но это невозможно. Вот несколько ресурсов, которые обсуждают этот конкретный вопрос:

Processing Command Line Arguments in an Offline ClickOnce Application

Harvesting ClickOnce Command Line Arguments

How to pass arguments to an offline ClickOnce application

+0

я ConsoleApplication3.application «pleasework» «йо» для результата: Может ли это быть связано с тем, что мой файл встраивается в приложение и не исполняемым? – Erroldactyl

+0

Вы публикуете консольное приложение как приложение ClickOnce? Или просто строить/отлаживать его? Потому что, когда я публикую консольное приложение ClickOnce, запуск его с помощью .application НЕ работает для меня. – ClosedEyesSeeing

+0

Да, я публиковал один клик. Какие альтернативы работают? Я НЕВЕРОЯТНО визуально-студийно-невежественный и использую его только при принуждении к таким конкретным рекомендациям. – Erroldactyl

1

Ваш код выглядит нормально. Вы, вероятно, не передаете аргумент правильно.

Возьмите следующие шаги:

Щелкните правой кнопкой мыши на вашем проекте => Свойства => Debug => вставка "Pleasework" в аргументы командной строки => сохранить и отладки кода шаг за шагом.

enter image description here

И вы увидите:

enter image description here

+0

Я пробовал это раньше, и только сейчас - оба не работали. – Erroldactyl

+0

@Erroldactyl Очень странно, можете ли вы отправить точную команду, которую вы выполняете в командной строке или в любой другой форме? –

+0

@Erroldactyl Вы работаете как администратор? –

Смежные вопросы