.Net Core App - 命令行格式异常

Der*_*rek 2 .net asp.net command-line .net-core

我正在按照本指南: - https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/windows-service?tabs=aspnetcore2x

当我尝试使用--console命令行参数运行.exe文件时收到以下错误消息: -

未处理的异常:System.FormatException:缺少switch'--console'的值.

这是我的Program类的Main方法.

 public static void Main(string[] args)
        {
            Log.Logger = new LoggerConfiguration()
                .MinimumLevel.Information()
                .WriteTo.Console()
                .CreateLogger();

            var isService = !(Debugger.IsAttached || args.Contains("--console"));

            var pathToContentRoot = Directory.GetCurrentDirectory();
            if (isService)
            {
                var pathToExe = Process.GetCurrentProcess().MainModule.FileName;
                pathToContentRoot = Path.GetDirectoryName(pathToExe);
            }

            var host = WebHost.CreateDefaultBuilder(args)
                .UseContentRoot(pathToContentRoot)
                .UseStartup<Startup>()
                .Build();

            if (isService)
            {
                host.RunAsCustomService();
            }
            else
            {
                host.Run();
            }
        }
Run Code Online (Sandbox Code Playgroud)

我已经确保我从文件夹路径运行命令行参数.

Mar*_*ich 6

ASP.NET Core配置系统不接受没有值的交换机.它希望能够从参数创建键值对,因此请务必不要转发此参数:

var webHostcArgs = args.Where(arg => arg != "--console").ToArray();
var host = WebHost.CreateDefaultBuilder(webHostcArgs)
…
Run Code Online (Sandbox Code Playgroud)