2017-05-02 9 views
0

Ich versuche, einige C# .NET-Anwendung zu schreiben, um es auf Nano-Server auszuführen. Hier ist der Quellcode.Nano Server C# Apps Abhängigkeiten

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 

namespace ConsoleApp1 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      Console.WriteLine("Hello hello world"); 
     } 
    } 
} 

Offensichtlich wird dieser Code erfolgreich auf Windows 10-System ausgeführt.

PS C:\Users\roza\Documents\Visual Studio 2017\Projects\ConsoleApp1\ConsoleApp1\bin\Debug> .\ConsoleApp1.exe 
Hello hello world 

Wie ich verstand, es ist .NET-Core auf Nano-Server standardmäßig installiert, so dass ich glaube, es ist möglich, diesen Code auf Nano Server irgendwie auszuführen.

Wenn ich die kompilierte EXE-Datei auf Nano-Server kopiert und versucht, es gibt erste Mal ausführen, ich diesen Fehler habe:

[Nano1X]: PS C:\Users\Administrator\Documents> .\ConsoleApp1.exe 
Program 'ConsoleApp1.exe' failed to run: The subsystem needed to support the image type is not present. 
    + CategoryInfo   : ResourceUnavailable: (:) [], ApplicationFailedException 
    + FullyQualifiedErrorId : NativeCommandFailed 
[Nano1X]: PS C:\Users\Administrator\Documents> 

Dann erkannte ich, dass Nano-Server nur x64-Architektur unterstützt, so dass ich ging durch "Project-> ConsoleApp1 Properties-> Build-> Platform Target: x64" und führte meine App noch einmal auf Nano Server aus.

[Nano1X]: PS C:\Users\Administrator\Documents> .\ConsoleApp1.exe 
[Nano1X]: PS C:\Users\Administrator\Documents> 

Ich habe gerade nichts gedruckt: keine Fehler und kein Ergebnis. Was ist der Grund dafür und was sollte ich tun, wenn ich wirklich möchte, dass meine C# .NET Anwendung erfolgreich von Nano Server ausgeführt wird?

+0

.NET Framework-Anwendungen werden offensichtlich nicht von Nana unterstützt, wenn Sie die Microsoft-Dokumentation überprüfen. .NET Core Apps sind speziell und lernen sie unter http://dot.net. –

Antwort

0

Sie werden keine Ausgabe sehen, da Sie eine Konsolenanwendung aus der Ferne starten. Auf dem Nano-Server startet Ihre Anwendung, zeigt "Hello Hello World" an und schließt dann. Es gibt nichts, um diese Ausgabe an Ihr Powershell-Fenster zu binden, wie es beim Debuggen auf Ihrem Windows 10-Computer der Fall war.

Wenn Sie sehen möchten, dass die Anwendung funktioniert, können Sie entweder eine Textdatei in das Dateisystem schreiben und sicherstellen, dass die Datei erstellt wird. Oder ändern Sie die App so, dass sie einen Webserver hostet, und greifen Sie von Ihrem Dev-Computer aus darauf zu.