Why does my 1st command line argument show up as a path to vshost.exe?

I'm building a desktop application in VS 2012 C#. While testing the applcation, I'm reading in commmand line arguments that i've set in the debug section of the application properties. I've only set 4 values (each separated by a space). However, when, in my code I attempt to access args[0], it is not the first argument that i've put in, its the path on my machine that leads to the vshost.exe file in the debug directory of my application file structure. Why is this and how do I prevent this from happening? I really want my 1st argument to be what I have typed into the debug section of the application properties.
Michael SterlingWeb Applications DeveloperAsked:
Who is Participating?
Fernando SotoConnect With a Mentor RetiredCommented:
Hi mikesExpertExchange;

The command line arguments array, args[0], will always show the executing program as the first element. This is the way it was implemented in the language. all other elements start at index 1 of the array. This can not be changed.
Michael SterlingWeb Applications DeveloperAuthor Commented:
Ok. I was just wondering. In a much older VB version of my app. (I'm rewriting it in C#) there first arg is actually what they've typed into the command line arguments in the debug properties of the app, so I was just curious as to why mine wasn't. Which version of VS did they make this a rule in? Just curious. If I can't change it then I can't change it. And in a sense, that makes it easy / an easier solution.
Fernando SotoRetiredCommented:
This was always the case in C# and I believe in VB .Net. Were you using a Visual Basic pre .Net version where I believe it worked as you stated.
Michael SterlingWeb Applications DeveloperAuthor Commented:
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.