我正在尝试编写一些C# .NET应用程序来在Nano Server上执行它。这是源代码。
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");
}
}
}显然,这段代码在Windows10系统上运行成功。
PS C:\Users\roza\Documents\Visual Studio 2017\Projects\ConsoleApp1\ConsoleApp1\bin\Debug> .\ConsoleApp1.exe
Hello hello world据我所知,默认情况下,Nano服务器上安装了.NET核心,所以我认为在Nano服务器上以某种方式执行这段代码是可能的。
当我将编译的*.exe文件复制到Nano Server并第一次尝试在那里执行它时,我得到了这个错误:
[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>然后我意识到Nano Server只支持x64架构,所以我通过“项目->ConsoleApp1属性->构建->平台目标: x64”再次在Nano Server上执行我的应用程序。
[Nano1X]: PS C:\Users\Administrator\Documents> .\ConsoleApp1.exe
[Nano1X]: PS C:\Users\Administrator\Documents>我只是没有打印出任何东西:没有错误,也没有任何结果。它的原因是什么?如果我真的想让我的C# .NET应用程序在Nano Server上成功执行,我应该怎么做?
发布于 2017-05-12 22:24:05
您不会看到任何输出,因为您正在远程启动一个控制台应用程序。在nano服务器上,您的应用程序正在启动,显示"Hello hello world“,然后关闭。不需要像在Windows10机器上调试时那样将输出绑定到powershell窗口。
如果您希望看到应用程序正在工作,您可以让它在文件系统上写入一个文本文件,并验证该文件是否已创建。或者更改应用程序以托管web服务器like Kestrel,并从您的开发机器远程访问它。
https://stackoverflow.com/questions/43747910
复制相似问题