Skip to content

Commit

Permalink
Merge pull request #142 from ardalis/dnx-console
Browse files Browse the repository at this point in the history
Dnx console app
  • Loading branch information
ardalis committed Apr 27, 2015
2 parents 119fd49 + 07884ac commit d1b7718
Show file tree
Hide file tree
Showing 7 changed files with 98 additions and 0 deletions.
Binary file added docs/aspnet5/dnx/dnx-console/_static/dnx-run.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
68 changes: 68 additions & 0 deletions docs/aspnet5/dnx/dnx-console/dnx-console.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
Creating a Cross-Platform Console App with DNX
==============================================
By `Steve Smith`_ | Originally Published: 1 June 2015

.. _`Steve Smith`: Author_

Using the .NET Execution environment (DNX), it's very easy to run a simple console application.

This article covers the following topics:
- `Creating a Console App`_
- `Specifying Project Settings`_
- `Running the App`_

You can `view and download the source <https://github.com/aspnet/Docs/tree/master/samples/CreatingConsoleAppWithDNX>`_ from the project created in this article.

Creating a Console App
----------------------

Before you begin, make sure you have successfully installed DNX on your system:
- :doc:`Installing on Windows </getting-started/installation/installing-on-windows/installing-on-windows>`
- :doc:`Installing on Mac OS X </getting-started/installation/installing-on-mac/installing-on-mac>`

Open a console or terminal window in an empty working folder, where ``dnx`` is configured.

Creating a console application is extremely straightforward. For this article, we're going to use the following C# class, which has just one line of executable code:

.. literalinclude:: ../../../../samples/CreatingConsoleAppWithDNX/Program.cs
:linenos:
:language: c#

It really doesn't get any simpler than this. Create a file with these contents and save it as ``Program.cs`` in your current folder.

Specifying Project Settings
---------------------------

Next, we need to provide the project settings DNX will use. Create a new ``project.json`` file in the same folder, and edit it to match the listing shown here:

.. literalinclude:: ../../../../samples/CreatingConsoleAppWithDNX/project.json
:linenos:
:language: javascript

Save your changes.

Running the App
---------------

At this point, we're ready to run the app. You can do this by simply entering ``dnx . run`` from the command prompt. You should see a result like this one:

.. image:: _static/dnx-run.png

..note:: ``dnx`` references several `environment variables <https://github.com/aspnet/Home/wiki/Environment-Variables>`_, such as ``DNX_TRACE``, that affect its behavior.

Set the ``DNX_TRACE`` environment variable to 1, and run the application again. You should see a great deal more output:

.. image:: _static/dnx-trace-run.png

In this example, running on the Windows platform, the default behavior for DNX is to run on the full .NET Framework. You can switch to use the CoreCLR by running ``dnvm upgrade -r CoreCLR``. To return to using .NET CLR, run ``dnvm upgrade -r CLR``.

You can see the app continues to run after switching to use CoreCLR:

.. image:: _static/dnx-trace-coreclr-run.png

Summary
-------

Creating and running your first console application on DNX is very simple, and only requires two files.

.. include:: /_authors/steve-smith.rst
9 changes: 9 additions & 0 deletions docs/aspnet5/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
ASP.NET 5
---------

.. toctree::
:glob:

aspnet5/dnx/*/*


9 changes: 9 additions & 0 deletions samples/CreatingConsoleAppWithDNX/Program.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
using System;

public class Program
{
public static void Main()
{
Console.WriteLine("Hello from DNX!");
}
}
12 changes: 12 additions & 0 deletions samples/CreatingConsoleAppWithDNX/project.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"dependencies": {
},
"frameworks": {
"aspnet50": {},
"aspnetcore50": {
"dependencies": {
"System.Console": "4.0.0-beta-22605"
}
}
}
}

0 comments on commit d1b7718

Please sign in to comment.