Bezdepbonusu7Программирование: статьи и ответы

Вопрос

C # публикация .exe и отправка ему параметров с помощью cmd

Автор вопроса: ItayОтветов: 2

Я почти уверен, что это базовый вариант, но мне просто не удается это сделать. Я пытаюсь создать консольное приложение, которое выполняло бы ABC, получая несколько аргументов.

для начала я пытаюсь запустить что-то настолько простое, как это

static void Main(string[] args)
{
    foreach (var s in args)
    {
        Console.WriteLine(s);
    }
    Console.ReadLine();
}

когда я публикую его, он выглядит как проект 'clickonce', например NAME.application вместо NAME.exe

также, когда я пытаюсь выполнить его с помощью параметров XYZ, например, попытаться в той же папке в командной строке

NAME.application agr1 agr2 agr3

он просто открывает приложение с пустой консолью :(

command-linecmdargumentsconsole

Ответы

Ответ 1 · рейтинг 3 · Fredrik Mörk

Файл .application - это не ваш исполняемый файл, а файл, используемый для развертывания. Поэтому при локальном запуске программы вы все равно должны запускать файл .exe.. Здесь можно найти некоторую информацию об аргументах командной строки и ClickOnce: "Моделирование параметров командной строки в приложениях Click Once"

Ответ 2 · рейтинг 3 · PHeiberg

"Публикуя" свое приложение из Visual Studio, вы превращаете его в приложение ClickOnce. Если вам нужно только простое приложение командной строки без функций ClickOnce, просто разверните свое приложение с помощью xcopy. То есть просто скопируйте файлы exe и dll из каталога bin в любой каталог на компьютере, где вы хотите его "развернуть".

Если вам нужно, чтобы это было приложение ClickOnce, обратитесь к ответам @Fredrik Mörk и @taspeotis.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы