【问题标题】:How to pass arguments to the pre-build command line?如何将参数传递给预构建命令行?
【发布时间】:2015-02-08 15:57:28
【问题描述】:

如何在 Visual Studio 2013 中将参数传递给预构建事件命令行?

我可以使用"C:\foo\bar.exe" 运行程序,但不能将参数传递给我的程序。 我尝试过不同的组合,比如。

1)

"c:\foo\bar.exe"

"c:\sourcepath\"

"c:\targetpath"

2)

"c:\foo\bar.exe -c:\sourcepath\c:\targetpath"

3)

"c:\foo\bar.exe c:\sourcepath\c:\targetpath"

4)

"c:\foo\bar.exe -c:\sourcepath\, c:\targetpath"

5)

"c:\foo\bar.exe c:\sourcepath\, c:\targetpath"

也许这不可能?我在文档MSDN 中找不到任何内容。

【问题讨论】:

  • 你能解决这个问题吗?
  • 不。我现在手动做。不记得是我做错了还是第三方程序“bar.exe”最后没有带参数。

标签: c# visual-studio-2010 visual-studio visual-studio-2012 build


【解决方案1】:

假设我正确理解您希望在编译和运行项目时自动传递变量,则可以在项目设置中。

转到项目 > 属性 > 配置属性

使用您在 MSVS 中运行时想要自动传递的任何内容填写命令参数字段。

【讨论】:

  • 我想在运行我的“大”程序之前运行我制作的另一个程序,并带有一些参数。您的意思是如何为“大”程序添加参数,对吗?还是我误会了你?
  • 可以在项目属性>“构建事件”下找到“预构建事件命令行”
  • 您的问题不清楚。你怎么打电话来运行其他程序?
  • 我在您的问题上方添加了评论^^
  • 那么,你找不到那个,或者我错过了什么?
【解决方案2】:

试试这个:

  1. “c:\foo\bar.exe”c:\sourcepath\c:\targetpath

  2. "c:\foo\bar.exe" "c:\sourcepath\path with space" "c:\targetpath"

您不应该将所有命令放在引号之间,对可执行文件使用引号,如果参数包含空格,则始终建议使用引号。

更新:

正如我之前所说,您必须在每条路径有空格时用引号括起来。

试试这个:

"C:\Program Files (x86)\Mark Lagendijk\WinLess\WinLess.exe" "d:\udvikling\test_winless\LESS\factory\" "D:\Udvikling\test_winless\LESS"

【讨论】:

  • C:\Program Files (x86)\Mark Lagendijk\WinLess\WinLess.exe d:\udvikling\test_winless\LESS\factory\ D:\Udvikling\test_winless\LESS"
  • 这是我要传递给“c:\foo\bar.exe”的三个参数
猜你喜欢
  • 2021-12-25
  • 2020-04-04
  • 2013-10-11
  • 1970-01-01
  • 2012-09-01
  • 2020-08-02
  • 2014-01-13
  • 2020-09-02
相关资源
最近更新 更多