C# 发布 .exe 并使用 cmd 向其发送参数

Posted

技术标签:

【中文标题】C# 发布 .exe 并使用 cmd 向其发送参数【英文标题】:C# publishing an .exe and sending params to it using cmd 【发布时间】:2011-05-20 11:33:53 【问题描述】:

我很确定这是基本的,但我只是没有成功做到这一点 我正在尝试创建一个控制台应用程序,它可以通过获取少量参数来执行 ABC

首先,我正在尝试运行这么简单的东西

static void Main(string[] args)

    foreach (var s in args)
    
        Console.WriteLine(s);
    
    Console.ReadLine();
 

当我发布它时,它是一个“clickonce”项目 像 NAME.application 而不是 NAME.exe

另外,当我尝试使用 XYZ 参数执行它时,就像在命令行中的同一文件夹中尝试一样

NAME.application agr1 agr2 agr3

它只是用空控制台打开应用程序:(

【问题讨论】:

【参考方案1】:

通过从 Visual Studio 中“发布”您的应用程序,您将其变为ClickOnce application。如果您只需要一个没有 ClickOnce 功能的简单命令行应用程序,只需使用 xcopy 部署您的应用程序。也就是说,只需将 exe 和 dll 文件从您的 bin 目录复制到计算机上您要“部署”它的任何目录。

如果您需要将它作为 ClickOnce 应用程序,请参阅 @Fredrik Mörk 和 @taspeotis 的答案。

【讨论】:

不这样做不会让我在没有 .net 框架的计算机上启用应用程序? @Itay:使用 xcopy 部署不会带来 ClickOnce 和 Windows Installer 拥有的任何高级方案。如果您需要在安装过程中安装 .NET 框架,则需要查看 ClickOnce 或 Windows Installer。请参阅此指南:msdn.microsoft.com/en-us/library/e2444w33.aspx【参考方案2】:

.application 文件不是您的可执行文件,而是用于部署的文件。所以在本地运行程序时,还是应该运行.exe.文件。在此处查看有关命令行参数和 ClickOnce 的一些信息:“Simulating command line parameters in Click Once applications”

【讨论】:

以上是关于C# 发布 .exe 并使用 cmd 向其发送参数的主要内容,如果未能解决你的问题,请参考以下文章

在 C# 中发送 cmd 命令并读取结果

c# 打开cmd.exe进程并执行多条命令

C#程序调用cmd.exe执行其他exe进程(并且含多个参数),并把进程结果返回给字符串

在 C# 中向 cmd 提示符发送命令

从 C# 结果 0 输出通过 CMD.exe 调用“查询用户”

在 Java 中,允许程序向 CMD.exe 发送命令的小帮助