【问题标题】:Run the .exe file from command prompt从命令提示符运行 .exe 文件
【发布时间】:2014-03-14 02:45:04
【问题描述】:

我使用 Visual Studio 在 C# 中开发了程序,并在 Debug 文件夹中生成了 .exe 文件。我还在 Properties-> Debug 中添加了命令行参数。

传递的参数是 D:\Example\bin\Release\Input_Files\ D:\Example\bin\Debug\trycc.css 900 640

通过将解决方案配置标记为 Debug 来运行此解决方案,它会在 Debug 文件夹中生成 .exe 文件。

当我尝试从它告诉的命令行运行时,无法打开与 .exe 处于同一级别的某些文件。

 D:\>D:\Example\bin\Debug\Example.exe D:\Example\bin\Release\Input_Files\ D:\Example\bin\Debug\trycc.css 900 640

我不明白我哪里出错了。请帮忙。

这里是:

D:\>D:\Example\bin\Debug\DFu1.exe  "D:\Example\bin\Release\I
nput_Files\"  "D:\Example\bin\Release\Input_Files\css\screen.css" "900
"  "830"
Incomplete Arguments entered.
Press any key to continue


 Unhandled Exception: System.IO.DirectoryNotFoundException: Could not find a part
 of the path 'C:\Out\elogs.txt'.
 at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
 at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, I
 nt32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions o
 ptions, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy)
 at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access)
 at ExampleParser.Program.Main(String[] args) in D:\Example\Program.cs:l
 ine 691

【问题讨论】:

  • 这可能是工作目录的问题,或者您需要将参数放在引号“”之间。您可以从命令提示符复制粘贴整个输出吗?如果您不知道如何 - 右键单击​​命令提示符窗口,标记,选择行,右键单击,它将出现在您的剪贴板中(您可以在此处使用 CTRL+V)。
  • 我已经编辑了..请看一下

标签: c# visual-studio exe


【解决方案1】:

可能是你的问题是不正确的报价。尝试传递这个参数:

"D:\\Example\\bin\\Release\\Input_Files\\" "D:\\Example\\bin\\Debug\\trycc.css" 900 640

或者:

"D:\Example\bin\Release\Input_Files\" "D:\Example\bin\Debug\trycc.css" 900 640

【讨论】:

  • 在第一种情况下,它显示的参数数量较少。第二次它会引发与下面提到的相同的错误
  • @Aada,请在您处理参数的位置显示您的代码。
  • @Kirill,你能在 Program.cs:line 691 显示你的代码吗?
【解决方案2】:

您似乎引用了一个不存在的目录(文件夹)D:\Out',首先确保该目录存在,如果它是正确的目录。如果不是,则应用程序可能使用的是相对路径(例如..\SomeDir\)而不是绝对路径,因此需要更改代码才能正确定位此目录。证明应用程序有效的一种简单而快速的方法是,首先 cd 进入它所在的目录并从该路径运行 exe:

cd D:\Example\bin\Debug

Example.exe D:\Example\bin\Release\Input_Files\ D:\Example\bin\Debug\trycc.css 900 640

如果您实际上有相对路径,请记住如果应用程序 (.exe) 在 D:\Example\bin\Debug 中并且您有一个目录 D:\Example\bin\Out 并且代码尝试使用 @987654326 读取/写入该“Out”目录@,如果应用直接从 \bin\Debug 运行就会成功。但是如果你从D:\MyOtherDir\Test 运行应用程序(是的,即使你传入完整路径D:\Example\bin\Debug\Example.exe),它会解析为D :\MyOtherDir\Out,相对路径基于当前工作目录,而不是exe所在的位置。

【讨论】:

    猜你喜欢
    • 2016-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-22
    • 1970-01-01
    相关资源
    最近更新 更多