-
Notifications
You must be signed in to change notification settings - Fork 586
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SdkAssemblyResolver does not properly resolve locally installed runtime #2641
Comments
Welcome to the FAKE community! Thank you so much for creating your first issue and therefore improving the project! |
Same issue on my end as well, but in my case |
Similar issue - however, our default is not to have a global.json. In a gitpod env, even with the SDKs installed, have to have a global.json with the exact version of the sdk 6.0.101 for the build to work. Without global.json, get a cryptic Script is not valid: which might be resolving to netstandard2.0 instead of net 6.0 |
Why is this not yet labelled as a bug? I can reproduce this with
This is with {
"sdk": {
"version": "6.0.100"
}
} |
I'm also encountering this fun bug in FsToolkit.ErrorHandling
|
Was looking to see if I should log this - we use 'Scenario 3' ( I think the fix is hinted in this review comment: if we change to use |
Hello, do you know when this fix will be released? Our software is running into the issue with |
I do not, a PR for the alpha build is here #2668 but it is blocked because the Mac OS tests are failing for reasons I can't personally reproduce (works on my fork!). That's basically where the fix has died for now, and my team has already started the process for moving to different build tooling. |
@mclark1129 That's unfortunate. Thank you for your efforts here.. Hopefully progress will be made. |
other notes: - editor made some whitespace cleanup, and I just committed them as-is - another web* -> httpclient update - broken tests are going to require some investigation; for now I just want to get some packages published that I can use - fake build script requires a specific, non-rolled-forward version of the .NET SDK; fixed in what will be FAKE 5.23.0, but see fsprojects/FAKE#2641
The build issue is now fixed and a new release is published. |
Did it work for you @InvisibleBacon ? Seems like it's still not working for me. It still is unable to roll forward |
Description
After upgrading to 5.21.0, our .NET 6 builds are failing due to the following error:
This appears to be due to the resolver not being able to resolve the correct Runtime version for the locally installed SDK. We are using
global.json
to specify an SDK version along withrollForward
to help manage any minor SDK version differences between development machines and build agents.Repro steps
The following steps will reproduce the issue outside of the FAKE pipeline by calling the appropriate methods on the
SdkAssemblyResolver
class:Setup: In an empty folder create
Resolver.fsx
with the following code:Note the currently installed .NET SDK(s) on your machine. The expected behavior as written assumes
6.0.101
, but this is also reproduceable with6.0.100
Scenario 1: No global.json
dotnet fsi Resolver.fsx
Expected behavior
Actual behavior
Scenario 2: Unknown SDK version with rollForward option
global.json
to the workspacedotnet fsi Resolver.fsx
Expected behavior
Actual behavior
Scenario 3: Valid SDK version, lower than installed version
global.json
to the workspacedotnet fsi Resolver.fsx
Expected behavior
Actual behavior
During the actual build this leads to a failure due to the fact that 6.0.0 is not installed:
Known Workarounds
Specify exact installed SDK in
global.json
ensure that version is installed across all machines building the projectRelated information
FAKE 5.21.0
Installed SDKs:
OS: Win 10
The text was updated successfully, but these errors were encountered: