Looking at the project.json from my last post
We see the following
{
"version": "1.0.0-*",
"description": "ConsoleApp1 Console Application",
"authors": [ "knarfalingus" ],
"tags": [ "hello", "world" ],
"projectUrl": "https://www.knarfalingus.com",
"licenseUrl": "https://opensource.org/licenses/MIT",
"compilationOptions": {
"emitEntryPoint": true
},
"dependencies": {
},
"commands": {
"ConsoleApp1": "ConsoleApp1"
},
"frameworks": {
"dnxcore50": {
"dependencies": {
"Microsoft.CSharp": "4.0.1-beta-23516",
"System.Console": "4.0.0-beta-23516",
}
}
}
}
To simplify, we can actually remove the following
"compilationOptions": {
"emitEntryPoint": true
}
This wasn’t required as the runtime will find the static Main() method.
Also we can remove the metadata, authors, projectUrl and licenseUrl etc. I added those arbitrarily anyway.
What is interesting is the commands
"commands": {
"ConsoleApp1”: “ConsoleApp1”
}
The above is typical of what Visual Studio 2015 would create. The name “ConsoleApp1” doesn’t have to match the application/namespace, for example the following works just as well.
"commands": {
“xyz”: "ConsoleApp1”
}
This can be explicitly run by executing
dnx xyz
The surprising part I found when trying this on Windows was, the value “ConsoleApp1” refers to the folder the app is in, not the namespace or application title. For example with this project.json
{
"version": "1.0.0-*",
"dependencies": {
},
"commands": {
“xyz”: "ConsoleApp1"
},
"frameworks": {
"dnxcore50": {
"dependencies": {
"Microsoft.CSharp": "4.0.1-beta-23516",
"System.Console": "4.0.0-beta-23516",
}
}
}
}
And the two files, project.json and Program.cs in a ConsoleApp1 directory, if I change into the directory from the parent directory using cd ConsoleApp1, dnx xyz works but if I do cd consoleapp1, in Powershell it doesn’t!, Powershell introduces case into the folder name see below. This doesn’t happen with the standard console.

I am not sure if this is a bug or not due to the fact that ASP.NET is targeting systems with case sensitive file systems whereas in Windows the file system is not case sensitive (by default).