Visual Studioを使用してC#で作成された簡単なコンソールアプリケーションがあります。それは入力パラメータを持ち、それを出力に返します。 これはコードです:"<messages><message>message</message></messages>"
:Visual Studioを使用してコンソールアプリケーションで入出力するときの奇妙なXMLの変更
static void Main(string[] args)
{
string msg = args[0];
Console.WriteLine(msg);
}
は、その後、私は、文字列としてXMLが含まれているのparamを渡すためにしてみてください。私はアプリケーションを呼び出すためにコンソールを使用する場合は何も問題はありません。しかし、そのようなアプリケーションをデバッグしようとしたときに、私はにコマンドライン引数デバッグタブにパラメータ文字列を追加しました。この後
私のような予期しない出力を持っている:私たちは、このような出力を持っているとどのようにこれを克服するために、なぜ
^<messages^>^<message^>message^</message^>^</messages^>
?前もって感謝します。この問題に対する最も簡単な解決策はここのような不本意文字交換されるべきである
:
静的な無効メイン(文字列[] args){ 列MSG =引数を[0]。
ます。Console.WriteLine(msg.Replace(「^」、「」);}
しかし、オペレーションシステムのコアのどこかに置かれ、そのような行動の理由から、バッチファイルを起動するようにWindowsがこの状況に対処します。 @Artem Kの答えに示されたリンクの後に、このような状況を克服するための2つの方法があります。残念ながら、この問題を扱う人はいません。問題の自分はどのようにバッチを起動するための引数を渡すことができます。
私は私はあなたのコードを実行したときに、私は –
を通過したとおりに、私はこれを再現することはできませんよ(メッセージ )を取得していますので、間違っているものを知りません。あなたはVS 2008またはVS 2010を使用していますか? ^は、csc.exeコマンドラインのエスケープ文字です。 –
デバッグなしで実行してみてください(Ctrl + F5) – apros