Не удаляйте символы из имени пути C # - PullRequest
1 голос
/ 01 октября 2011

У меня есть приложение Windows Form, которое также принимает аргумент командной строки. Вы можете запустить программу самостоятельно, она имеет графический интерфейс, но когда вы запускаете ее в CLI, кажется, что C # удаляет некоторые символы из моего аргумента, который я передаю.

Вот как это работает:

RemoveHTML.exe http://illen/configtc.aspx?IP=192.168.0.15&m=c

Приложение загружается, но вылетает, потому что C # удалил последнюю часть URL! Так что он действительно видит это

RemoveHTML.exe http://illen/configtc.aspx?IP=192.168.0.15

Он удаляет часть "& m = c", и в моем CLI я получаю эту ошибку:

C:\Users\admin\Documents\Visual Studio 2010\Projects\RemoveHTML\RemoveHTML\bin\Debug>RemoveHTML.exe http://illen/configtc.aspx?IP=192.168.0.15 
'm' is not recognized as an internal or external command,operable program or batch file.

Мой код находится в разделе Form1_Load:

string MyURL;
string[] WebURL;

...... * * 1023

        private void Form1_Load(object sender, EventArgs e)
        {

            string[] args = Environment.GetCommandLineArgs();
            foreach (string arg in args)
            {

                WebURL[0] = args[1];
                //WebURL[0] += "&m=c";
                //WebURL[0] += (WebURL[0] + "&m=c");
                //WebURL = args[1];
                //MessageBox.Show(WebURL);
                runtimeButton_Click(sender, e);
            }
}

Я пытаюсь найти способ, чтобы C # не удалял недопустимые символы, есть идеи?

1 Ответ

5 голосов
/ 01 октября 2011

При вызове приложения указывайте URL в кавычках.

RemoveHTML.exe "http://illen/configtc.aspx?IP=192.168.0.15&m=c"

Это не ограничение .NET или C #. Это способ, которым работает анализатор команд.

...