2015-05-15 16 views
6

Si verificano problemi nell'esecuzione di una semplice app di test della console mediante la riga di comando dnx. So che questa è una tecnologia in evoluzione al momento, ma mi piacerebbe farlo funzionare per la mia sanità mentale.Impossibile eseguire le applicazioni della console DNX

Ecco il programma:

using System; 

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

Questa è la lista DNVM

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 

Questa è la 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" 
    } 
} 

Questo è il risultato di 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 

Ecco dove sono confuso perché alcuni dei video più vecchi che ho visto sono ormai obsoleti e non sono sicuro di dove cercare per scoprire come è cambiato.

Mi aspetto che il dnx ConsoleApp me esegua il mio programma ma purtroppo non funziona.

Errore:

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) 

risposta

7

l'hai configurato correttamente. Credo che quello che si desidera avere è quella sottostante all'interno del file project.json:

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

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

Ora gestita:

dnu restore 
dnx . me 

Dovrebbe funzionare.

+2

sì vedo l'errore nella sezione quadri. Grazie. è "eseguire" una parola chiave ?? Mi aspettavo che fosse il nome della mia classe "Programma" – ChiliYago

+0

Esattamente dove viene dichiarata questa parola chiave "run"? Non dovrebbe essere "me": "Programma" '? – bitbonk

+4

su beta7 e successivamente è 'dnx me' invece' dnx. me' – pg0xC

0

Le versioni più recenti di System.Console, diverse dalle versioni beta, sono attualmente incompatibili con "dnxcore50" e presentano interruzioni.

opzioni suggerite:

1- di indirizzare il quadro completo "dnx451" al posto del nucleo;

2- Per utilizzare solo una versione beta di System.Console con "dnxcore50"; o

3- Per utilizzare Debug.Print() al posto di Console.WriteLine()

Problemi correlati