Closed BlythMeister closed 1 year ago
followup.
i can see my dll correctly in the intellisense_lazy.fsx
as #r "../../../packages/fake/MyAssembly.Fake/lib/netstandard2.0/MyAssembly.Fake.dll"
and that DLL is present.
This means in visual studio i am getting full intelisense on my referenced assembly, yet Fake when run has the error
Also to note, this happens on a complete clean checkout of a repo.
Having dug into this, it seems to be because my paket group Fake
had a framework restriction set of netstandard2.0.
If i remove that restriction, the script runs fine.
I don't really understand why that's a problem though.
This zip contains a minimum viable reproducable of the issue :)
The FAKE runner now pins its execution context to netstandard2.0, net6
. So in the first log, it took what was specified in paket.dependencies
file. And since packages were restored by Paket with that framework restriction they will be discarded when loaded since they don't meet the target model FAKE is pinned to. Please see FSC Args log entry.
However, in the second case, which uses netstandard2.0, net6
same as default, Paket restores the packages using this restriction which mets with what target model Fake is pinned to.
Yeah, I can see the difference. Just was a bit of an unexpected breaking change. Should that not have been released under a new major version number considering the impact?
I have 40-60 repos to now go and manually fix in order to prevent a break when someone tries to do an update.
Since last week, I've had about 7-10 people ask "why do I get this error when I update"
It should not be a breaking change (please correct me if I'm wrong) since Net 6 is backward compatible with Netstandard2.0, so it should resolve the packages. But maybe we had a case that we didn't cover or consider while making the change.
Also, does it execute the script without deleting the FAKE directory? Since if the runner still considers the cache to be valid it will pick up the assembly and execute it immediately without re-compiling.
On a complete clean checkout (taking the zip I uploaded to this issue) fake will not run.
I agree, netstandard should be compatible. Hence my confusion.
But the only resolution I have found is to change the paket dependencies on all my repos to make the new version work In my book...that's a breaking change đŸ˜‚
Sorry for the hassle, it was unintended and a case that we didn't cover
Closing, please feel free to re-open if anything is needed to handle this issue.
Description
When i upgraded the fake cli dotnet tool i got this error:
My Build script has
It would seem that the
#r
no longer restores a group properly?