You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
E:\Projects\FAKE\src\app\Fake.Runtime\unknown(1,1): warning FS3186: An error occurred while reading the F# metadata node at position 1 in table 'itycons' of assembly 'Fake.Core.DependencyManager.Paket, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. The node had no matching declaration. Please report this warning. You may need to recompile the F# assembly you are using. [E:\Projects\FAKE\src\app\Fake.Runtime\Fake.Runtime.fsproj]
E:\Projects\FAKE\src\app\Fake.Runtime\unknown(1,1): warning FS3186: An error occurred while reading the F# metadata node at position 0 in table 'ivals' of assembly 'Fake.Core.DependencyManager.Paket, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. The node had no matching declaration. Please report this warning. You may need to recompile the F# assembly you are using. [E:\Projects\FAKE\src\app\Fake.Runtime\Fake.Runtime.fsproj]
E:\Projects\FAKE\src\app\fake-cli\unknown(1,1): warning FS3186: An error occurred while reading the F# metadata node at position 1 in table 'itycons' of assembly 'Fake.Core.DependencyManager.Paket, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. The node had no matching declaration. Please report this warning. You may need to recompile the F# assembly you are using. [E:\Projects\FAKE\src\app\fake-cli\fake-cli.fsproj]
E:\Projects\FAKE\src\app\fake-cli\unknown(1,1): warning FS3186: An error occurred while reading the F# metadata node at position 0 in table 'ivals' of assembly 'Fake.Core.DependencyManager.Paket, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. The node had no matching declaration. Please report this warning. You may need to recompile the F# assembly you are using. [E:\Projects\FAKE\src\app\fake-cli\fake-cli.fsproj]
Known workarounds
<NoWarn>FS3186</NoWarn>
Description
What we try to do is to workaround #8663 but now hit the next problem. Our test suite fails because this warning starts popping up everywhere.
Our idea was to write a 'dummy' dependency manager which doesn't error but ignores all #r "paket" references (to unblock ourself).
To simplify deployment we just added a reference to this dependency manager to Fake.Runtime and fake-cli because then we can assume that the dependency manager is "always" deployed with FAKE (which looks like an obvious solution).
But now this warning appears in several places:
When compiling Fake.Runtime and fake-cli (reported above)
It appears again when we compile scripts via FCS (at runtime), the only thing changed is that we added --compilertool: and --langversion:
For 1. we can add <NoWarn>FS3186</NoWarn>. For 2. we currently try with --nowarn:3186 but we couldn't get rid of it yet.
EDIT: It seems in FCS-API --nowarn is just not supported at all, so we now just filter the warning afterwards.
This error usually indicates mismatched assemblies. It would be good to have a much smaller repro to narrow down if that is not the case. I'd be very surprised if it's anything specifically to do with dependency managers
We suppressed the specific harmless warning a while back, and as mentioned above the warning usually indicated mismatched assemblies. As a result I will close this.
Expected behavior
Builds without
FS3186
Actual behavior
Known workarounds
<NoWarn>FS3186</NoWarn>
Description
What we try to do is to workaround #8663 but now hit the next problem. Our test suite fails because this warning starts popping up everywhere.
Our idea was to write a 'dummy' dependency manager which doesn't error but ignores all
#r "paket"
references (to unblock ourself).To simplify deployment we just added a reference to this dependency manager to
Fake.Runtime
andfake-cli
because then we can assume that the dependency manager is "always" deployed with FAKE (which looks like an obvious solution).But now this warning appears in several places:
Fake.Runtime
andfake-cli
(reported above)--compilertool:
and--langversion:
For 1. we can add
<NoWarn>FS3186</NoWarn>
. For 2. we currently try with--nowarn:3186
but we couldn't get rid of it yet.EDIT: It seems in FCS-API
--nowarn
is just not supported at all, so we now just filter the warning afterwards.The code we use is this: https://github.com/fsharp/FAKE/blob/6a4902e41bccfcfac0dbf8a045b798d3bb28f029/src/app/Fake.Core.DependencyManager.Paket/PaketDependencyManager.fs#L3-L56
EDIT: I hope to filter this warning it not hiding some underlying issue with the approach, please advise :)
Related information
Related: #7881 #6140
/cc @baronfel
The text was updated successfully, but these errors were encountered: