在c#程序中使用包含的命令行exe:路径是什么?
本文关键字:exe 命令行 路径 是什么 包含 程序 | 更新日期: 2023-09-27 17:49:17
我搜索了一下,只找到了答案的片段。我正在构建工具,以便在整个工作室中进行分发。我有一个。exe命令行程序(一个转换资产格式的工具)作为我的VS项目中的资源。
基于另一个线程,我将包含的。exe的"复制到输出目录"属性设置为"复制如果更新";当其他人安装它时,它将被包含。
现在我想调用这个可执行文件,带参数,通过传递一个字符串,是一个构建的命令行,如
"C:'path'to'myProgram.exe -inputFilename -outputFilename -options"
的问题:我真的需要什么C:'path'to'myProgram.exe ?我的命令行可执行文件最终将安装在最终用户的机器上的什么位置?
还是将其嵌入为资源打开了一种调用它的新方式(使用args)?
复制到输出文件夹保证"资源"将有一个相对于您的可执行文件的位置。使用复制到输出文件夹的方法,您可以使用以下代码来获取主可执行文件的位置:
String baseDir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
此时可以使用
Path.Combine(baseDir, "myProgram.exe")
获取最终路径。如果它位于"tools"文件夹中,则必须将其包含在第二个参数中(该参数是指向单独程序的相对路径)。命令行参数进入ProcessStartInfo对象。