构建配置并启动参数

Build Configuration and Start Arguments

在启动选项下的“命令行参数”中输入的值是否会作为命令行参数实际传递给发布配置中的可执行文件,还是只是调试。

问题是,部署时它会成为可执行文件的一部分吗?

最终出现在 csproj 文件中,如下所示

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
    <StartArguments>-blah</StartArguments>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
    <StartArguments>-blah</StartArguments>
  </PropertyGroup>
</Project>

Command-Line Arguments

官方文档对此有详细介绍

您还可以使用 Environment.CommandLine 或 Environment.GetCommandLineArgs 从控制台或 Windows Forms 应用程序中的任何位置访问命令行参数。

演示:

using System;

namespace ConsoleApp2 {
    internal class Program {
        static void Main (string[] args) {
            if (args.Length == 0)
                Console.WriteLine("Please enter a numeric argument.");
            else
                foreach (string arg in args)
                    {
                    Console.WriteLine(arg);
                    }
            Console.ReadLine();
            }
        }
    }

执行:

独立运行ning时:输出如下:

“当您构建应用程序并将其提供给用户 运行 时,它们不会成为您应用程序的一部分。”骆驼是对的。