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.exe执行其他exe进程(并且含多个参数),并把进程结果返回给字符串