如何使用dotnet在命令行中传递参数?

时间:2019-05-13 08:40:47

标签: c# .net powershell

命令 dotnet myapp.dll -- [4, 3, 2]引发异常System.FormatException: Input string was not in a correct format。 我不知道语法。我应该如何正确传递参数? 我使用powershell。

1 个答案:

答案 0 :(得分:1)

using System;

namespace ConsoleApp3
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine(string.Join('-', args));
        }
    }
}

通过Powershell 6调用它:

dotnet .\ConsoleApp3.dll "[1,2,3]"

输出:

[1,2,3]

在上述调用中,您的Main将作为单个字符串接收[1,2,3],您必须在代码中对其进行解析/拆分。

如果您希望数组反映在string[]的{​​{1}}数组中,则可以使用PowerShell数组:

Main

输出:

dotnet .\ConsoleApp3.dll @(1,2,3)

此处将PowerShell数组1-2-3 强制转换为@(1,2,3)数组。因此,PowerShell数组的每一项都注入到string[]数组中。

PowerShell 5.1上的行为相同。

希望有帮助。