Ric*_*nka 1 visual-studio-2010 visual-studio
我在Visual Studio 2010中的C#.NET 4.0项目中有以下作为我的后期构建事件:
call "$(SolutionDir)Publish\Publish.exe" "$(TargetDir)" "\\lithium\c\Photon"
call "$(SolutionDir)RemoteControl\RemoteControl.exe" start
Run Code Online (Sandbox Code Playgroud)
问题是,当执行Publish.exe时,只传递一个命令行参数,其中包含以下值:
C:\Users\...\bin\Release" \\lithium\c\Photon
Run Code Online (Sandbox Code Playgroud)
注意:我用省略号替换了一些文件夹,否则这是确切的值
无论出于何种原因,它将两个参数合并为一个,并且非常奇怪地解析引号.我已经调试了一段时间,并且我已经尝试了它,没有call带有相对目录Publish.exe,有一些简单的东西call "$(SolutionDir)Publish\Publish.exe" hello world,它总是被粉碎成一个参数.这让我相信这不是一些引用蠢事.
如果我从提示符运行这个完全相同的程序,它可以完美地工作.有人,请帮助我消除这种疯狂.
在处理另一个项目时,我实际上设法复制了您的问题.我将多个args传递给powershell脚本,发现它们被视为一个参数.谷歌搜索发现此链接
哪个解决方案是在第一个参数的末尾放置一个空格,即在您的示例中它将是
call "$(SolutionDir)Publish\Publish.exe" "$(TargetDir) " "\\lithium\c\Photon"
Run Code Online (Sandbox Code Playgroud)
这对我有用,所以希望它能解决你的问题.
如果你有超过2个args,那么你需要在每个结尾添加一个空格,除了最后一个.
HTH
| 归档时间: |
|
| 查看次数: |
2650 次 |
| 最近记录: |