Sometimes users or more importantly CI servers don't have the correct dotnet SDK installed.
We wrote FAKE install scripts that would take care of installing the correct SDK version during the build. Unfortunately even dotnet tool requires to have exactly the specified version available. So we have chicken and egg situation. We can't download the tool that would fix the SDK version conflict since the downloader already requires the correct SDK. What I'd like to see is:
dotnet tool install --any-sdk-version --tool-path tools fake-cli
tools\fake.exe build --target Build
- --> FAKE runs and installs the correct SDK with it's own functionality
As written above 1) is already failing since dotnet tool requires the SDK version from global.json
Workaround
- Install
fake-cli package with Paket or NuGet
dotnet "packages\build\Fake-Cli\tools\netcoreapp2.1\any\fake-cli.dll" build --target Build
Note how this dotnet command does not requirer the correct SDK version.
Sometimes users or more importantly CI servers don't have the correct dotnet SDK installed.
We wrote FAKE install scripts that would take care of installing the correct SDK version during the build. Unfortunately even
dotnet toolrequires to have exactly the specified version available. So we have chicken and egg situation. We can't download the tool that would fix the SDK version conflict since the downloader already requires the correct SDK. What I'd like to see is:dotnet tool install --any-sdk-version --tool-path tools fake-clitools\fake.exe build --target BuildAs written above 1) is already failing since dotnet tool requires the SDK version from
global.jsonWorkaround
fake-clipackage with Paket or NuGetdotnet "packages\build\Fake-Cli\tools\netcoreapp2.1\any\fake-cli.dll" build --target BuildNote how this dotnet command does not requirer the correct SDK version.