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
{{ message }}
Repository navigation
Intellisense stops working in .fsx script (due to issue loading list of assembly references correctly?) #1311
@dsyme thanks, could you describe (if possible) how you figured out that "impossible to determine" fix?
I haven't had chance to look at how this reference / assembly loading from script is all working in F# tooling / FSI, I think first measure would be error reporting with the name of missing reference.
The include scripts are generated by paket and there might be some holes in the logic or missing metadata in nuget packages which lead to that missing System.Threading.Tasks assembly, I'll try to see if there is a bug to report in any of the nuget package to mention that assembly.
In the context of developing that paket feature, we had to put hardcoded workarounds for FSharp.Core (should never load it, even if using the nuget one) and mscorlib (if it is `#r "mscorlib" more than once, FSI complains with an error).
It would be great to throw together few notes (with knowledge of implementation details the visualfsharp team has) about all those concerns related to assembly/reference loading in FSI and tooling.
and looked at the exception when openeing your solution.
I'd debugged this once before, and we've already added a default reference to the DLL mentioned above. However we hadn't fixed the error reporting in the general case so that people would know that they needed to add this
@isaacabraham Yes, more or less. I believe the silent error happens with Visual Studio 2015 whenever an F# script references an F# profile 7, 78, 259 or ,NET Standard 1.x component.
@dsyme Thanks. That works! It puzzled me for quite a while! Where's the documentation for #r? I didn't know you can directly reference the assembly name without the .dll or .exe extension name. I don't see it mentioned here
@kflu I think the behaviour is the same as when you give a --reference or what you give in project files, those place can also mention (GAC registered) assemblies just by name.
Activity
dsyme commentedon Jul 4, 2016
The workaround is to add
to your script.
dsyme commentedon Jul 4, 2016
Thanks for this repo. This is actually a really important bug to fix since the workaround is basically impossible to determine without the fix.
smoothdeveloper commentedon Jul 4, 2016
@dsyme thanks, could you describe (if possible) how you figured out that "impossible to determine" fix?
I haven't had chance to look at how this reference / assembly loading from script is all working in F# tooling / FSI, I think first measure would be error reporting with the name of missing reference.
The include scripts are generated by paket and there might be some holes in the logic or missing metadata in nuget packages which lead to that missing
System.Threading.Tasksassembly, I'll try to see if there is a bug to report in any of the nuget package to mention that assembly.In the context of developing that paket feature, we had to put hardcoded workarounds for FSharp.Core (should never load it, even if using the nuget one) and mscorlib (if it is `#r "mscorlib" more than once, FSI complains with an error).
It would be great to throw together few notes (with knowledge of implementation details the visualfsharp team has) about all those concerns related to assembly/reference loading in FSI and tooling.
isaacabraham commentedon Jul 4, 2016
Is this the one that is due to the Tasks BCL / extension assembly?
dsyme commentedon Jul 4, 2016
@smoothdeveloper I ran
and looked at the exception when openeing your solution.
I'd debugged this once before, and we've already added a default reference to the DLL mentioned above. However we hadn't fixed the error reporting in the general case so that people would know that they needed to add this
@isaacabraham Yes, more or less. I believe the silent error happens with Visual Studio 2015 whenever an F# script references an F# profile 7, 78, 259 or ,NET Standard 1.x component.
kflu commentedon Aug 27, 2016
@dsyme Thanks. That works! It puzzled me for quite a while! Where's the documentation for
#r? I didn't know you can directly reference the assembly name without the.dllor.exeextension name. I don't see it mentioned heresmoothdeveloper commentedon Aug 28, 2016
@kflu I think the behaviour is the same as when you give a
--referenceor what you give in project files, those place can also mention (GAC registered) assemblies just by name.