Skip to content

Resolution of FSharp.Core breaks F# Formatting #196

@tpetricek

Description

@tpetricek

Most of the projects I manage still use FCS version 44 via F# Formatting. I just tried to update one of them and F# Formatting fails when processing XML documentation with the following:

[0 sec] Resolving assembly: FSharp.Compiler.Service.resources, Version=0.0.57.0, Culture=en-US, PublicKeyToken=null
[0 sec] Resolving assembly: FSharp.Compiler.Service.resources, Version=0.0.57.0, Culture=en-US, PublicKeyToken=null
[0 sec] Resolving assembly: FSharp.Compiler.Service.resources, Version=0.0.57.0, Culture=en, PublicKeyToken=null
[0 sec] Resolving assembly: FSharp.Compiler.Service.resources, Version=0.0.57.0, Culture=en, PublicKeyToken=null
[0 sec] **** error: Problem reading assembly 'FSharp.Core, Version=4.3.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a': Error opening binary file 'C:\Users\Tomas\AppData\Local\Temp\FSharp.Core.dll':     File 'C:\Users\Tomas\AppData\Local\Temp\FSharp.Core.optdata' not found alongside FSharp.Core
[0 sec] **** error: Error opening binary file 'C:\Users\Tomas\AppData\Local\Temp\FSharp.Core.dll': File 'C:\Users\Tomas\AppData\Local\Temp\FSharp.Core.optdata' not found alongside FSharp.Core
[0 sec] **** error: File 'C:\Users\Tomas\AppData\Local\Temp\FSharp.Core.optdata' not found alongside FSharp.Core
[0 sec] **** stopping due to critical errors
System.Exception: **** stopped due to critical errors
   at FSharp.MetadataFormat.MetadataFormat.Generate(FSharpList`1 dllFiles, String outDir, IEnumerable`1 layoutRoots, FSharpOption`1 parameters, FSharpOption`1 namespaceTemplate, FSharpOption`1 moduleTemplate, FSharpOption`1 typeTemplate, FSharpOption`1 xmlFile, FSharpOption`1 sourceRepo, FSharpOption`1 sourceFolder, FSharpOption`1 publicOnly, FSharpOption`1 libDirs, FSharpOption`1 otherFlags, FSharpOption`1 markDownComments, FSharpOption`1 urlRangeHighlight) in c:\Tomas\Public\FSharp.Formatting\src\FSharp.MetadataFormat\Main.fs:line 846
   at <StartupCode$FSI_0004>.$FSI_0004.main@()

A workaround is to find the right FSharp.Core.dll together with the optdata and sigdata files and place them alongside the dll (or somewhere where they can be found).

Is that an intentional change? (I'd be ok with that, but the fact that this requires sigdata & optdata files is a bit silly.)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions