build.ps1 'projects' variable resolution issues
- Dominant language
- C#
- Stars
- 729
- Forks
- 397
- Avg merge
- 3d 15m
- Merged PRs (30d)
- 149
Description
Repro steps:
1. Given a repo with a solution at `./src/Proxy/Proxy.sln` (or some other relative path below the repo root)
2. Run the following command
```
./eng/common/build.ps1 -build -projects "./src/Proxy/Proxy.sln"
```
Expected behavior: Arcade builds the `./src/Proxy/Proxy.sln` project
Actual behavior: The following error:
```
C:\Users\anurse\.nuget\packages\microsoft.dotnet.arcade.sdk\1.0.0-beta.18526.8\tools\Build.proj(193,5): error MSB3202: The project file "./src/Proxy/Proxy.sln" was not found.
```
As far as I can tell, this is because nothing actually resolves the relative path before passing it to the `` task in the Arcade SDK's `Build.proj`. MSBuild resolves relative paths relative to the initial project file by default, so this means it is looking for these projects in the Arcade SDK.
I can work around this by always passing in a fully-qualified glob, but this is awkward.
On a related note, it's very difficult to pass a semicolon-delimited property value to MSBuild from the command line: https://github.com/Microsoft/msbuild/issues/471
Contributor guide
Assessment
This issue has not been assessed yet.