Estoy tratando de llamar a MSBuild desde una línea de comando. Todo estaba funcionando bien cuando estaba usando una ruta que no tenía espacios, pero ahora tengo una ruta que tiene espacios y el comando está fallando.¿Cómo tengo espacios en un MSBuild WebProjectOutputDir?
Comando (obras):
"C:\Windows\Microsoft.NET\Framework\v3.5\MSBuild.exe"
/t:Rebuild "C:\Projects\myProject.csproj"
/p:OutDir=c:\temp\deploy\funAndGames\Deployment\bin\
/p:WebProjectOutputDir=c:\temp\deploy\funAndGames\Deployment\
/p:Configuration=Release
Luego añade cotizaciones y cambió a OutDir OUTPATH (no funciona):
"C:\Windows\Microsoft.NET\Framework\v3.5\MSBuild.exe"
/t:Rebuild "C:\Projects\myProject.csproj"
/p:OutPath="c:\temp\deploy\funAndGames\Deployment\bin\"
/p:WebProjectOutputDir="c:\temp\deploy\funAndGames\Deployment\"
/p:Configuration=Release
Lo que mi objetivo es algo como esto (doesn 't trabajo):
"C:\Windows\Microsoft.NET\Framework\v3.5\MSBuild.exe"
/t:Rebuild "C:\Projects\myProject.csproj"
/p:OutPath="c:\temp\deploy\fun and games\Deployment\bin\"
/p:WebProjectOutputDir="c:\temp\deploy\fun and games\Deployment\"
/p:Configuration=Release
Cualquier ayuda sobre la sintaxis alrededor OutDir/OUTPATH y WebProjectOutputDir con espacios? ¿Es posible? Si no lo está, ¿alguien sabe cuál es la razón (debido a no tener cosa de tipo de espacios de alguna URL?)
Excelente! Parece que MSBuild tiene una forma personalizada de interpretar la línea de comandos. Gracias por publicar su resultado. – jpierson
Entonces, ¿cómo haces esto cuando estás usando macros como $ (ProjectDir)? – Mateo
@Mateo puede utilizar lo siguiente: '/ p: ProjectDir = " $ (ProjectDir.Replace ('\', '\\')) "' – Stijn