Visual studio 2010 如何让Visual Studio使用/RunExit并提供程序命令行参数?

Visual studio 2010 如何让Visual Studio使用/RunExit并提供程序命令行参数?,visual-studio-2010,command-line,Visual Studio 2010,Command Line,我有一个命令行可执行文件的解决方案文件。我希望在不进行交互的情况下通过调试器以不同的输入运行可执行文件,同时将其输出设置为日志文件 例如,这就是我想要的: devenv /DebugExe "myprogram.exe" "my inputs" 加载VS并自动设置我的程序输入。但是,我希望通过对程序的不同输入反复执行此操作,并在以后挖掘输出文件。因此,我发现的最接近但不起作用的是: devenv /RunExit "myprogram.exe" "my input set" /Out out1

我有一个命令行可执行文件的解决方案文件。我希望在不进行交互的情况下通过调试器以不同的输入运行可执行文件,同时将其输出设置为日志文件

例如,这就是我想要的:

devenv /DebugExe "myprogram.exe" "my inputs"
加载VS并自动设置我的程序输入。但是,我希望通过对程序的不同输入反复执行此操作,并在以后挖掘输出文件。因此,我发现的最接近但不起作用的是:

devenv /RunExit "myprogram.exe" "my input set" /Out out1.log
devenv /RunExit "myprogram.exe" "a different input set" /Out out2.log
...

有没有办法做到这一点?同样,重要的一点是,我可以将一系列运行排队,然后挖掘输出文件以获得它们的输出。

虽然我确实找到了一种方法来做我想做的事情,但我不喜欢它。所以我会等一段时间,然后把我自己的答案标记为接受

我真正需要和想要的是我在问题中所说的:

devenv /RunExit sln "input args" /Out out.log
问题是VS不允许这样做,“输入args”是无效的-这与使用say/DebugExe不同,但是再次涉及手动工作,这对我没有帮助。因此,在我用来动态调用devenv的脚本中,每次我都使用正则表达式将sln文件中的“Arguments=”行替换为适当的参数。然后此命令行工作:

devenv /RunExit sln /Out out%x%.log

sln的每次调用都会被修改为包含新的参数集,因此每次运行时,我将在输出%x%.log文件中获得不同的输出(每次运行时我都会对其进行不同的命名,以便跟踪哪个日志文件指向哪个输入)。感谢大家观看。

我想做一些类似的事情:在我的例子中,我的一个参数是文件系统路径,它可能包含一个空格,必须在批处理文件中的字符串中引用,该字符串必须被引用。我增强了命令行可执行文件的代码,除了命令行参数外,还查看了环境变量(environment.GetEnvironmentVariable)。然后,只需在每次调用devenv之前设置特定的环境变量值。

为什么要在调试器中运行程序而不是正常运行?程序会动态加载DLL,我希望看到加载的DLL。我通常通过加载调试器、运行调试器和检查输出窗口来实现这一点。我宁愿跳过所有的手工步骤。也许有更好的办法?