QuietRestore=true does not work with paths that contain a space
- Dominant language
- C#
- Stars
- 109
- Forks
- 85
- Avg merge
- 2d 16h
- Merged PRs (30d)
- 1
Description
Currently a repository using repo toolset that also specifies `/p:QuietRestore=true` cannot build if the enlistment path contains a space. Instead, the build fails with an error similar to the following:
```
MSBUILD : error MSB1008: Only one project can be specified. [C:\Users\tagoo\.nuget\packages\RoslynTools.RepoToolset\1.0.0-beta-62615-02\tools\Build.proj]
C:\Users\tagoo\.nuget\packages\RoslynTools.RepoToolset\1.0.0-beta-62615-02\tools\Build.proj(152,5): error MSB3073: The command ""C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\MS
Build.exe" /nodeReuse:false "C:\Users\tagoo\.nuget\packages\RoslynTools.RepoToolset\1.0.0-beta-62615-02\tools\Tools.proj" /bl:"D:\project system\artifacts\Debug\log\RestoreRepoTools.binlog" /nologo /m /v:quiet
/t:Restore /p:Configuration=Debug /p:CIBuild=False /p:RepoRoot=D:\project system\ /p:VersionsPropsPath=D:\project system\build\Versions.props /p:DotNetPackageVersionPropsPath= /p:BaseIntermediateOutputPath=D:\p
roject system\artifacts\toolset\Common /p:ExcludeRestorePackageImports=true /p:UsingPipeBuildPublishing=false" exited with code 1.
```
This failure looks to be because repo-toolset is calling `Exec` and not properly quoting the command line arguments.
Quoting the arguments is fairly trivial. However, there is an additional issue where, even if quoted, the build still fails for any paths that end with `\`.
The recommended fix would be to trim the trailing `\` from any arguments and ensure that it is re-added, where required, in the props files themselves.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.