Open voroninp opened 3 years ago
I found the reason:
If paket.exe
exists locally, for some reason dotnet restore
in docker running on Linux resolves to .paket/paket.exe
via Paket.Restore.targets
.
Workaround, to modify .paket\Paket.Restore.targets in two locations:
row 32:
<PaketBootStrapperCommand Condition=" '$(OS)' != 'Windows_NT' ">$(MonoPath) --runtime=v4.0.30319 "$(PaketBootStrapperExePath)"</PaketBootStrapperCommand>
to
<PaketBootStrapperCommand Condition=" '$(OS)' != 'Windows_NT' ">dotnet paket</PaketBootStrapperCommand>
and
row 99:
<_PaketCommand Condition=" '$(_PaketCommand)' == '' AND '$(OS)' != 'Windows_NT' AND '$(_PaketExeExtension)' == '.exe' ">$(MonoPath) --runtime=v4.0.30319 "$(PaketExePath)"</_PaketCommand>
to
<_PaketCommand Condition=" '$(_PaketCommand)' == '' AND '$(OS)' != 'Windows_NT' AND '$(_PaketExeExtension)' == '.exe' ">dotnet paket</_PaketCommand>
@voroninp were you able fix it?
@cricarba , no, as far as I remember.
I have docker file with build process:
This works on Windows, but fails on Linux: (and in GitLab pipeline)
I have no idea how host can affect MSBuild running within docker container.