Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dnx console app #142

Merged
merged 2 commits into from
Apr 27, 2015
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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"
}
}
}
}