如何在 Visual Studio for Mac 中将参数传递给 Main() C#
Posted
技术标签:
【中文标题】如何在 Visual Studio for Mac 中将参数传递给 Main() C#【英文标题】:How to pass parameters to Main() C# in visual studio for mac 【发布时间】:2017-01-21 03:43:42 【问题描述】:我查看了其他版本的 Visual Studio 的不同资源,但我不清楚如何在这里使用 arg 调用 Main
using System;
namespace helloWorld
class MainClass
public static void Main(string[] args)
if (args.Length > 0)
Console.WriteLine("Hello " + args[0]);
else
Console.WriteLine("Hello World!");
【问题讨论】:
处于调试模式,还是一般? 【参考方案1】:可以通过右键单击右侧窗格中的控制台应用程序,然后转到 Options
> Run
> Configurations
> Default
为 Visual Studio for Mac 中的应用程序提供参数Arguments
文本字段。
【讨论】:
是的,我可以在这里指定参数,但由于某种原因,Visual Studio 没有将值传递给应用程序 也有这个问题。帮助我使用此解决方案中的参数创建新的运行配置。记得选择新配置(在主窗口的“播放”按钮旁边)【参考方案2】:出于某种原因,来自@JosephWoodward 的answer 不适合我。它看起来像一个 Visual Studio 错误,但我确实有一个解决方法;结果是您必须提供参数每次要启动应用程序。
-
从菜单中选择运行 -> 运行方式 -> 自定义配置 ...
-
在对话框中,输入参数:
-
如果您想调试而不是运行,则需要更改底部的运行操作:
【讨论】:
这行得通,但很痛苦。我发现,如果我通过从项目上下文菜单中选择“开始调试项”来启动应用程序,我在项目配置中设置的参数就会被发送。不知道为什么工具栏按钮和运行菜单不这样做,我觉得这是问题的线索,但我想不出答案。 也有这个问题。该解决方案有效,但太麻烦了。为我工作以创建带有参数的新运行配置(因为它应该可以工作)。记得选择新配置(在主窗口的“播放”按钮旁边)【参考方案3】:正如约瑟夫伍德沃德所说,您在参数字段中提供它们
Project Options > Run > Configurations > Your_configuration_here
.
请注意,要成功将这些参数传递到 Main,需要重新构建项目 - 否则 args
将继续为空。
【讨论】:
项目重建对我没有帮助,args 仍然是空的。在我创建新配置后工作。好奇怪……【参考方案4】:我知道这是一篇旧帖子,但我认为为那些希望使用终端的人提供答案会很好。
在 MacOS 上安装 Visual Studio:Community Edition 时,您将获得一套工具。 包括csc和mono。
因此,要运行如下所示的 C# 控制台程序,您需要同时使用这两种工具:
using System;
namespace helloWorld
class Program
static void Main(string[] args)
string name = args[0];
Console.WriteLine("Hello 0", name);
然后通过运行 csc 编译 C# 项目:
$ csc Program.cs
如果没有错误,csc 将创建一个可执行文件 .exe,使用 mono 运行可执行文件并传递参数:
$ mono Program.exe Bob
Hello Bob
使用这两个工具,您可以编译和执行 C# 程序。
【讨论】:
【参考方案5】:main 的参数将是命令行参数。 如果从 Visual Studio 中运行,您可以设置
command line arguments
项目的“配置属性”中的属性。
要从命令行运行它,只需调用带有参数的 exe 文件。
Path/to/YourProg.exe arg1 arg2
【讨论】:
我能从你的回答中弄清楚,但我必须经历的是 Options 然后 Run 然后 Configurations 然后设置 Arguments 字段 @ZackLucky 很高兴它成功了。我不记得这些设置的确切路径。如果有帮助,请按预期标记答案。以上是关于如何在 Visual Studio for Mac 中将参数传递给 Main() C#的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Visual Studio For Mac 中执行 T4 模板文件?
如何使用 Visual Studio for Mac 在 Xamarin.Forms 中实现多目标?
如何在 Visual Studio Mac for Unity 解决方案中避免 CS1591 警告?
如何将 Visual Studio for Mac Project 连接到 Azure Data Studio 数据库?