【发布时间】:2018-06-08 17:52:40
【问题描述】:
我无法将参数传递给我的控制台应用程序。 我试过这样:
App.exe arg1
App.exe "arg1"
App.exe
当我使用参数运行应用程序时,应用程序会退出运行而没有任何消息。
调试时string[] args 中没有任何内容。
我的 C# 项目是一个普通的 .net 4.5.2 命令行项目。 我的操作系统是 Windows 10 x64。
示例代码:
using System;
using System.Collections.ObjectModel;
using System.Management.Automation;
namespace Setup
{
class Program
{
static void Main(string[] args)
{
if (args.Length == 0)
{
using (PowerShell psInstance = PowerShell.Create())
{
string cmd = "Set-ExecutionPolicy RemoteSigned -Force; " +
"echo \"Set-ExecutionPolicy RemoteSigned -Force\"; echo \"\"; " +
"Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force; ";
psInstance.AddScript(cmd);
Collection<PSObject> PSOutput = psInstance.Invoke();
Console.WriteLine(psInstance.Streams.Error[0].ErrorDetails.Message);
foreach (var item in PSOutput)
{
if (item != null)
{
Console.WriteLine(item.BaseObject.ToString());
}
}
Console.ReadLine();
}
}
else
{
// Will not work
Console.WriteLine(args[0]);
}
}
}
}
有人有想法吗?
【问题讨论】:
-
请包含您为 App.exe 编写的代码。这可能很简单。
-
我已经编辑了我的问题。
-
您确定要向您的应用传递参数吗?假设您从 Visual Studio 运行此程序,项目属性中 Debug 选项卡上的文本框 Command line arguments 中是否有任何内容?
-
@Marcus 请看看我的回答是否对你有帮助。如果没有,我很乐意帮助您解决实际问题。
标签: c# console-application command-line-arguments