I just wrote a tool that extracts ProjectReference entries from a msbuild project. It removes any references that is automatically added by the framework by checking for metadata IsImplicitlyDefined. This works for C# and VB, but F# does not add this metadata.
Also, looking at this it seems the same is true for System.ValueTuple.
Repro steps
Create a fsharp SDK based project (for instance dotnet new classlib --language F#). Extract all ProjectReferences.
Expected behavior
FSharp.Core should be added with metadata IsImplicitlyDefined equal to true.
Actual behavior
FSharp.Core is not added with IsImplicitlyDefined.
Known workarounds
Manually add it, which defeats the purpose altogether.
Related information
.NET Command Line Tools (2.0.0)
Product Information:
Version: 2.0.0
Commit SHA-1 hash: cdcd1928c9
Runtime Environment:
OS Name: Mac OS X
OS Version: 10.12
OS Platform: Darwin
RID: osx.10.12-x64
Base Path: /usr/local/share/dotnet/sdk/2.0.0/
Microsoft .NET Core Shared Framework Host
Version : 2.0.0
Build : e8b8861ac7faf042c87a5c2f9f2d04c98b69f28d
I just wrote a tool that extracts
ProjectReferenceentries from a msbuild project. It removes any references that is automatically added by the framework by checking for metadataIsImplicitlyDefined. This works for C# and VB, but F# does not add this metadata.Also, looking at this it seems the same is true for
System.ValueTuple.Repro steps
Create a fsharp SDK based project (for instance
dotnet new classlib --language F#). Extract allProjectReferences.Expected behavior
FSharp.Coreshould be added with metadataIsImplicitlyDefinedequal totrue.Actual behavior
FSharp.Coreis not added withIsImplicitlyDefined.Known workarounds
Manually add it, which defeats the purpose altogether.
Related information