带参数的简单 Powershell Msbuild 失败

2024-01-04

我正在尝试传递一个简单的变量传递,

无参数

msbuild MySolution.sln /p:Configuration=Debug /p:Platform="Any CPU"

Try 1

$buildOptions = '/p:Configuration=Debug /p:Platform="Any CPU"'
msbuild MySolution.sln + $buildOptions

-> 导致 MSB1008

Try 2

$command = "msbuild MySolution.sln" + $buildOptions
Invoke-expression $command

-> 导致 MSB1009

我尝试了该解决方案this https://stackoverflow.com/questions/809333/powershell-command-processing-passing-in-variables帖子,但我认为这是一个不同的错误。


尝试以下其中一项:

msbuild MySolution.sln $buildOptions

Start-Process msbuild -ArgumentList MySolution.sln,$buildOptions -NoNewWindow

顺便说一句,PowerShell v3 中有一个新功能专门针对这种情况,--% 之后的任何内容都按原样处理,因此您的命令将如下所示:

msbuild MySolution.sln --% /p:Configuration=Debug /p:Platform="Any CPU"

请参阅这篇文章了解更多信息:http://rkeithhill.wordpress.com/2012/01/02/powershell-v3-ctp2-provides-better-argument-passing-to-exes/ http://rkeithhill.wordpress.com/2012/01/02/powershell-v3-ctp2-provides-better-argument-passing-to-exes/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

带参数的简单 Powershell Msbuild 失败 的相关文章

随机推荐