Cannot Run DNX Console Applications

こ雲淡風輕ζ 提交于 2019-12-21 12:41:16

问题


I am having trouble running a simple console test app using the dnx command line. I know this is an evolving technology at the moment but I would like to get this going for my own sanity.

Here is the program:

using System;

public class Program
{
    public void Main(string[] args)
    {
        Console.WriteLine("Foo");
        Console.ReadLine();
    }
}

This is the DNVM List

Active Version     Runtime Architecture Location                   Alias
------ -------     ------- ------------ --------                   -----
  *    1.0.0-beta4 clr     x64          C:\Users\Tim\.dnx\runtimes
       1.0.0-beta4 clr     x86          C:\Users\Tim\.dnx\runtimes
       1.0.0-beta4 coreclr x64          C:\Users\Tim\.dnx\runtimes
       1.0.0-beta4 coreclr x86          C:\Users\Tim\.dnx\runtimes

This is the project.json

{

    "frameworks": {
        "aspnet50":{}
    },

    "dnxcore50" : {
      "dependencies": {
        "System.Console": "4.0.0-*",
        "System.Collections": "4.0.10-*",
        "System.Linq": "4.0.0-*",
        "System.Threading": "4.0.10-*",
        "Microsoft.CSharp": "4.0.0-*"
      }
    },

    "commands": {
        "me": "Program"
    }
}

This is the result of dnu build ConsoleApp

Building ConsoleApp for Asp.Net,Version=v5.0
  Using Project dependency ConsoleApp 1.0.0
    Source: C:\_Git\learndnx\ConsoleApp\project.json

  Using Assembly dependency framework/mscorlib 4.0.0.0
    Source: C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\mscorlib.dll

  Using Assembly dependency framework/System 4.0.0.0
    Source: C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\System.dll

  Using Assembly dependency framework/System.Core 4.0.0.0
    Source: C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\System.Core.dll

  Using Assembly dependency framework/Microsoft.CSharp 4.0.0.0
    Source: C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\Microsoft.CSharp.dll


Build succeeded.
    0 Warnings(s)
    0 Error(s)

Time elapsed 00:00:00.3038706

Here is where I am confused becuase some of the older videos I have seen are now obsolete and I am not sure where to look to find how what has changed.

I am expecting that dnx ConsoleApp me will run my program but it sadly it does not.

Error:

System.InvalidOperationException: Unable to load application or execute command 'Program'. Available commands: me.
   at Microsoft.Framework.ApplicationHost.Program.ThrowEntryPointNotfoundException(DefaultHost host, String applicationN
ame, Exception innerException)
   at Microsoft.Framework.ApplicationHost.Program.ExecuteMain(DefaultHost host, String applicationName, String[] args)
   at Microsoft.Framework.ApplicationHost.Program.Main(String[] args)

回答1:


You have it configured wrong. I guess what you want to have is the below one inside the project.json file:

{
    "frameworks": {
            "dnx451" : {
            }
            "dnxcore50" : {
                "dependencies": {
                    "System.Console": "4.0.0-beta-*"
                }
            }
    },

    "commands": {
        "me": "run"
    }
}

Now run:

dnu restore
dnx . me

It should work.




回答2:


Latest versions of System.Console, other than beta versions, are currently incompatible with "dnxcore50" and has breaking changes.

Suggested options:

1- To target the full framework "dnx451" instead of core;

2- To use only a beta version of System.Console with "dnxcore50"; or

3- To use Debug.Print() instead of Console.WriteLine()



来源:https://stackoverflow.com/questions/30267784/cannot-run-dnx-console-applications

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!