Some Signature Files seem to be missing from the SourceLink metadata
I was doing some work in FSAC with the Typed Tree, and tried to go-to-definition on a type that was defined in Symbols\Exprs.fsi, but go-to-definition failed with an error saying that no such file could be found in the list of documents embedded in the PDB. The FSAC logging here is very verbose, so I've embedded it here for perusal:
FSAC output for a failed sourcelink-powered go-to-definition
[16:42:27.205 INF] [FsAutoComplete.Sourcelink] Reading from C:\Users\chusk\.nuget\packages\fsharp.compiler.service\41.0.3\lib\netstandard2.0\FSharp.Compiler.Service.dll for source file d:\a\_work\1\s\src\fsharp\symbols\Exprs.fsi
[16:42:27.206 INF] [FsAutoComplete.Sourcelink] Reading metadata information for DLL C:\Users\chusk\.nuget\packages\fsharp.compiler.service\41.0.3\lib\netstandard2.0\FSharp.Compiler.Service.dll
[16:42:27.222 INF] [FsAutoComplete.Sourcelink] Read sourcelink structure
{"documents": {"D:\\a\\_work\\1\\s\\*": "https://raw.githubusercontent.com/dotnet/fsharp/20b60091feda9966a9c12ae56edb39c0e5681f15/*"} }
[16:42:27.227 WRN] [FsAutoComplete.Sourcelink] No sourcelinked source file matched d:\a\_work\1\s\src\fsharp\symbols\Exprs.fsi.
Available documents were (normalized paths here):
["D:/a/_work/1/s/artifacts/obj/FSharp.Compiler.Service/Release/netstandard2.0/FSComp.fs"
"D:/a/_work/1/s/artifacts/obj/FSharp.Compiler.Service/Release/netstandard2.0/FSIstrings.fs"
"D:/a/_work/1/s/artifacts/obj/FSharp.Compiler.Service/Release/netstandard2.0/UtilsStrings.fs"
"D:/a/_work/1/s/src/fsharp/utils/sformat.fs"
"D:/a/_work/1/s/src/fsharp/Logger.fs"
"D:/a/_work/1/s/src/fsharp/utils/HashMultiMap.fs"
"D:/a/_work/1/s/src/fsharp/utils/TaggedCollections.fs"
"D:/a/_work/1/s/src/fsharp/absil/illib.fs"
"D:/a/_work/1/s/src/fsharp/utils/FileSystem.fs"
"D:/a/_work/1/s/src/fsharp/InternalCollections.fs"
"D:/a/_work/1/s/src/fsharp/QueueList.fs"
"D:/a/_work/1/s/src/fsharp/utils/PathMap.fs"
"D:/a/_work/1/s/src/fsharp/range.fs"
"D:/a/_work/1/s/src/fsharp/Diagnostics.fs"
"D:/a/_work/1/s/src/fsharp/TextLayoutRender.fs"
"D:/a/_work/1/s/src/fsharp/utils/prim-lexing.fs"
"D:/a/_work/1/s/src/fsharp/utils/prim-parsing.fs"
"D:/a/_work/1/s/src/fsharp/ReferenceResolver.fs"
"D:/a/_work/1/s/src/fsharp/XmlDoc.fs"
"D:/a/_work/1/s/src/fsharp/SyntaxTrivia.fs"
"D:/a/_work/1/s/src/fsharp/SyntaxTree.fs"
"D:/a/_work/1/s/src/fsharp/tainted.fs"
"D:/a/_work/1/s/src/fsharp/FxResolver.fs"
"D:/a/_work/1/s/src/fsharp/DependencyManager/AssemblyResolveHandler.fs"
"D:/a/_work/1/s/src/fsharp/DependencyManager/NativeDllResolveHandler.fs"
"D:/a/_work/1/s/src/fsharp/DependencyManager/DependencyProvider.fs"
"D:/a/_work/1/s/src/fsharp/symbols/SymbolHelpers.fs"
"D:/a/_work/1/s/src/fsharp/symbols/Symbols.fs"
"D:/a/_work/1/s/src/fsharp/symbols/Exprs.fs"
"D:/a/_work/1/s/src/fsharp/service/SemanticClassification.fs"
"D:/a/_work/1/s/src/fsharp/service/ItemKey.fs"
"D:/a/_work/1/s/src/fsharp/service/SemanticClassificationKey.fs"
"D:/a/_work/1/s/src/fsharp/service/FSharpSource.fs"
"D:/a/_work/1/s/src/fsharp/service/IncrementalBuild.fs"
"D:/a/_work/1/s/src/fsharp/service/ServiceCompilerDiagnostics.fs"
"D:/a/_work/1/s/src/fsharp/service/ServiceConstants.fs"
"D:/a/_work/1/s/src/fsharp/service/ServiceDeclarationLists.fs"
"D:/a/_work/1/s/src/fsharp/service/ServiceLexing.fs"
"D:/a/_work/1/s/src/fsharp/service/ServiceParseTreeWalk.fs"
"D:/a/_work/1/s/src/fsharp/service/ServiceNavigation.fs"
"D:/a/_work/1/s/src/fsharp/service/ServiceParamInfoLocations.fs"
"D:/a/_work/1/s/src/fsharp/service/FSharpParseFileResults.fs"
"D:/a/_work/1/s/src/fsharp/service/ServiceParsedInputOps.fs"
"D:/a/_work/1/s/src/fsharp/service/ServiceAssemblyContent.fs"
"D:/a/_work/1/s/src/fsharp/service/ServiceXmlDocParser.fs"
"D:/a/_work/1/s/src/fsharp/service/ExternalSymbol.fs"
"D:/a/_work/1/s/src/fsharp/service/QuickParse.fs"
"D:/a/_work/1/s/src/fsharp/service/FSharpCheckerResults.fs"
"D:/a/_work/1/s/src/fsharp/service/service.fs"
"D:/a/_work/1/s/src/fsharp/service/ServiceInterfaceStubGenerator.fs"
"D:/a/_work/1/s/src/fsharp/LegacyHostedCompilerForTesting.fs"
"D:/a/_work/1/s/src/fsharp/fsi/fsi.fs"
"D:/a/_work/1/s/src/fsharp/FSharp.Compiler.Service/unknown"
"D:/a/_work/1/s/src/fsharp/fsi/fsi.fsi"
"D:/a/_work/1/s/src/fsharp/service/ServiceAnalysis.fs"
"D:/a/_work/1/s/src/fsharp/service/ServiceAnalysis.fsi"
"D:/a/_work/1/s/src/fsharp/service/ServiceStructure.fs"
"D:/a/_work/1/s/src/fsharp/service/ServiceInterfaceStubGenerator.fsi"
"D:/a/_work/1/s/src/fsharp/service/service.fsi"
"D:/a/_work/1/s/src/fsharp/service/FSharpCheckerResults.fsi"
"D:/a/_work/1/s/src/fsharp/service/QuickParse.fsi"
"D:/a/_work/1/s/src/fsharp/service/ServiceParsedInputOps.fsi"
"D:/a/_work/1/s/src/fsharp/service/ServiceNavigation.fsi"
"D:/a/_work/1/s/src/fsharp/service/ServiceLexing.fsi"
"D:/a/_work/1/s/src/fsharp/service/ServiceDeclarationLists.fsi"
"D:/a/_work/1/s/src/fsharp/service/IncrementalBuild.fsi"
"D:/a/_work/1/s/src/fsharp/symbols/SymbolPatterns.fs"
"D:/a/_work/1/s/src/fsharp/symbols/SymbolPatterns.fsi"
"D:/a/_work/1/s/src/fsharp/ErrorLogger.fs"
"D:/a/_work/1/s/src/fsharp/symbols/SymbolHelpers.fsi"
"D:/a/_work/1/s/src/fsharp/fsc.fs"
"D:/a/_work/1/s/src/fsharp/CreateILModule.fs"
"D:/a/_work/1/s/src/fsharp/CreateILModule.fsi"
"D:/a/_work/1/s/src/fsharp/StaticLinking.fs"
"D:/a/_work/1/s/src/fsharp/StaticLinking.fsi"
"D:/a/_work/1/s/src/fsharp/BinaryResourceFormats.fs"
"D:/a/_work/1/s/src/fsharp/XmlDocFileWriter.fs"
"D:/a/_work/1/s/src/fsharp/OptimizeInputs.fs"
"D:/a/_work/1/s/src/fsharp/OptimizeInputs.fsi"
"D:/a/_work/1/s/src/fsharp/CompilerOptions.fs"
"D:/a/_work/1/s/src/fsharp/CompilerOptions.fsi"
"D:/a/_work/1/s/src/fsharp/ScriptClosure.fs"
"D:/a/_work/1/s/src/fsharp/ParseAndCheckInputs.fs"
"D:/a/_work/1/s/src/fsharp/ParseAndCheckInputs.fsi"
"D:/a/_work/1/s/src/fsharp/CompilerDiagnostics.fs"
"D:/a/_work/1/s/src/fsharp/CompilerDiagnostics.fsi"
"D:/a/_work/1/s/src/fsharp/CompilerImports.fs"
"D:/a/_work/1/s/src/fsharp/CompilerConfig.fs"
"D:/a/_work/1/s/src/fsharp/CompilerConfig.fsi"
"D:/a/_work/1/s/src/fsharp/BuildGraph.fs"
"D:/a/_work/1/s/src/fsharp/BuildGraph.fsi"
"D:/a/_work/1/s/src/fsharp/DependencyManager/DependencyProvider.fsi"
"D:/a/_work/1/s/src/fsharp/IlxGen.fs"
"D:/a/_work/1/s/src/fsharp/IlxGen.fsi"
"D:/a/_work/1/s/src/fsharp/autobox.fs"
"D:/a/_work/1/s/src/fsharp/autobox.fsi"
"D:/a/_work/1/s/src/fsharp/LowerStateMachines.fs"
"D:/a/_work/1/s/src/fsharp/LowerStateMachines.fsi"
"D:/a/_work/1/s/src/fsharp/LowerCallsAndSeqs.fs"
"D:/a/_work/1/s/src/fsharp/LowerCallsAndSeqs.fsi"
"D:/a/_work/1/s/src/fsharp/InnerLambdasToTopLevelFuncs.fs"
"D:/a/_work/1/s/src/fsharp/InnerLambdasToTopLevelFuncs.fsi"
"D:/a/_work/1/s/src/fsharp/DetupleArgs.fs"
"D:/a/_work/1/s/src/fsharp/DetupleArgs.fsi"
"D:/a/_work/1/s/src/fsharp/Optimizer.fs"
"D:/a/_work/1/s/src/fsharp/TypedTreePickle.fs"
"D:/a/_work/1/s/src/fsharp/Optimizer.fsi"
"D:/a/_work/1/s/src/fsharp/CheckDeclarations.fs"
"D:/a/_work/1/s/src/fsharp/CheckDeclarations.fsi"
"D:/a/_work/1/s/src/fsharp/CheckComputationExpressions.fs"
"D:/a/_work/1/s/src/fsharp/CheckExpressions.fs"
"D:/a/_work/1/s/src/fsharp/CheckExpressions.fsi"
"D:/a/_work/1/s/src/fsharp/PostInferenceChecks.fs"
"D:/a/_work/1/s/src/fsharp/PostInferenceChecks.fsi"
"D:/a/_work/1/s/src/fsharp/QuotationTranslator.fs"
"D:/a/_work/1/s/src/fsharp/QuotationTranslator.fsi"
"D:/a/_work/1/s/src/fsharp/FindUnsolved.fs"
"D:/a/_work/1/s/src/fsharp/FindUnsolved.fsi"
"D:/a/_work/1/s/src/fsharp/CheckFormatStrings.fs"
"D:/a/_work/1/s/src/fsharp/ConstraintSolver.fs"
"D:/a/_work/1/s/src/fsharp/ConstraintSolver.fsi"
"D:/a/_work/1/s/src/fsharp/PatternMatchCompilation.fs"
"D:/a/_work/1/s/src/fsharp/MethodCalls.fs"
"D:/a/_work/1/s/src/fsharp/MethodOverrides.fs"
"D:/a/_work/1/s/src/fsharp/SignatureConformance.fs"
"D:/a/_work/1/s/src/fsharp/NameResolution.fs"
"D:/a/_work/1/s/src/fsharp/NameResolution.fsi"
"D:/a/_work/1/s/src/fsharp/AugmentWithHashCompare.fs"
"D:/a/_work/1/s/src/fsharp/AugmentWithHashCompare.fsi"
"D:/a/_work/1/s/src/fsharp/NicePrint.fs"
"D:/a/_work/1/s/src/fsharp/InfoReader.fs"
"D:/a/_work/1/s/src/fsharp/TypeRelations.fs"
"D:/a/_work/1/s/src/fsharp/AttributeChecking.fs"
"D:/a/_work/1/s/src/fsharp/AccessibilityLogic.fs"
"D:/a/_work/1/s/src/fsharp/infos.fs"
"D:/a/_work/1/s/src/fsharp/import.fs"
"D:/a/_work/1/s/src/fsharp/TypedTreePickle.fsi"
"D:/a/_work/1/s/src/fsharp/TypedTreeOps.fs"
"D:/a/_work/1/s/src/fsharp/TypedTreeOps.fsi"
"D:/a/_work/1/s/src/fsharp/TcGlobals.fs"
"D:/a/_work/1/s/src/fsharp/TypedTreeBasics.fs"
"D:/a/_work/1/s/src/fsharp/TypedTreeBasics.fsi"
"D:/a/_work/1/s/src/fsharp/TypedTree.fs"
"D:/a/_work/1/s/src/fsharp/CompilerGlobalState.fs"
"D:/a/_work/1/s/src/fsharp/CompilerGlobalState.fsi"
"D:/a/_work/1/s/src/fsharp/QuotationPickler.fs"
"D:/a/_work/1/s/src/fsharp/QuotationPickler.fsi"
"D:/a/_work/1/s/src/fsharp/ExtensionTyping.fs"
"D:/a/_work/1/s/src/fsharp/ExtensionTyping.fsi"
"D:/a/_work/1/s/src/fsharp/LexFilter.fs"
"D:/a/_work/1/s/src/fsharp/lex.fsl"
"D:/a/_work/1/s/artifacts/obj/FSharp.Compiler.Service/Release/netstandard2.0/lex.fs"
"D:/a/_work/1/s/src/fsharp/pplex.fsl"
"D:/a/_work/1/s/artifacts/obj/FSharp.Compiler.Service/Release/netstandard2.0/pplex.fs"
"D:/a/_work/1/s/src/fsharp/lexhelp.fs"
"D:/a/_work/1/s/src/fsharp/lexhelp.fsi"
"D:/a/_work/1/s/src/fsharp/pars.fsy"
"D:/a/_work/1/s/artifacts/obj/FSharp.Compiler.Service/Release/netstandard2.0/pars.fs"
"D:/a/_work/1/s/src/fsharp/pppars.fsy"
"D:/a/_work/1/s/artifacts/obj/FSharp.Compiler.Service/Release/netstandard2.0/pppars.fs"
"D:/a/_work/1/s/src/fsharp/ParseHelpers.fs"
"D:/a/_work/1/s/src/fsharp/SyntaxTreeOps.fs"
"D:/a/_work/1/s/src/fsharp/SyntaxTreeOps.fsi"
"D:/a/_work/1/s/src/fsharp/XmlDoc.fsi"
"D:/a/_work/1/s/src/fsharp/UnicodeLexing.fs"
"D:/a/_work/1/s/src/fsharp/ilx/EraseUnions.fs"
"D:/a/_work/1/s/src/fsharp/ilx/EraseUnions.fsi"
"D:/a/_work/1/s/src/fsharp/ilx/EraseClosures.fs"
"D:/a/_work/1/s/src/fsharp/PrettyNaming.fs"
"D:/a/_work/1/s/src/fsharp/PrettyNaming.fsi"
"D:/a/_work/1/s/src/fsharp/utils/CompilerLocationUtils.fs"
"D:/a/_work/1/s/src/fsharp/utils/CompilerLocationUtils.fsi"
"D:/a/_work/1/s/src/fsharp/SimulatedMSBuildReferenceResolver.fs"
"D:/a/_work/1/s/src/fsharp/SimulatedMSBuildReferenceResolver.fsi"
"D:/a/_work/1/s/src/fsharp/LegacyMSBuildReferenceResolver.fs"
"D:/a/_work/1/s/src/fsharp/LegacyMSBuildReferenceResolver.fsi"
"D:/a/_work/1/s/src/fsharp/absil/ilreflect.fs"
"D:/a/_work/1/s/src/fsharp/absil/ilreflect.fsi"
"D:/a/_work/1/s/src/fsharp/absil/ilwrite.fs"
"D:/a/_work/1/s/src/fsharp/absil/ilwrite.fsi"
"D:/a/_work/1/s/src/fsharp/absil/ilwritepdb.fs"
"D:/a/_work/1/s/src/fsharp/absil/ilwritepdb.fsi"
"D:/a/_work/1/s/src/fsharp/absil/ilread.fs"
"D:/a/_work/1/s/src/fsharp/absil/ilread.fsi"
"D:/a/_work/1/s/src/fsharp/absil/ilbinary.fs"
"D:/a/_work/1/s/src/fsharp/absil/ilbinary.fsi"
"D:/a/_work/1/s/src/fsharp/absil/ilsupp.fs"
"D:/a/_work/1/s/src/fsharp/absil/ilsupp.fsi"
"D:/a/_work/1/s/src/fsharp/absil/ilnativeres.fs"
"D:/a/_work/1/s/src/fsharp/absil/ilnativeres.fsi"
"D:/a/_work/1/s/src/fsharp/absil/ilsign.fs"
"D:/a/_work/1/s/src/fsharp/absil/ilsign.fsi"
"D:/a/_work/1/s/src/fsharp/absil/ilmorph.fs"
"D:/a/_work/1/s/src/fsharp/absil/ilmorph.fsi"
"D:/a/_work/1/s/src/fsharp/absil/illex.fsl"
"D:/a/_work/1/s/artifacts/obj/FSharp.Compiler.Service/Release/netstandard2.0/illex.fs"
"D:/a/_work/1/s/src/fsharp/absil/ilpars.fsy"
"D:/a/_work/1/s/artifacts/obj/FSharp.Compiler.Service/Release/netstandard2.0/ilpars.fs"
"D:/a/_work/1/s/src/fsharp/absil/ilascii.fs"
"D:/a/_work/1/s/src/fsharp/absil/ilascii.fsi"
"D:/a/_work/1/s/src/fsharp/absil/ilx.fs"
"D:/a/_work/1/s/src/fsharp/absil/il.fs"
"D:/a/_work/1/s/src/fsharp/absil/il.fsi"
"D:/a/_work/1/s/src/fsharp/ErrorResolutionHints.fs"
"D:/a/_work/1/s/src/fsharp/ErrorLogger.fsi"
"D:/a/_work/1/s/src/fsharp/TextLayoutRender.fsi"
"D:/a/_work/1/s/src/fsharp/range.fsi"
"D:/a/_work/1/s/src/fsharp/utils/RidHelpers.fs"
"D:/a/_work/1/s/src/fsharp/utils/PathMap.fsi"
"D:/a/_work/1/s/src/fsharp/rational.fs"
"D:/a/_work/1/s/src/fsharp/rational.fsi"
"D:/a/_work/1/s/src/fsharp/block.fs"
"D:/a/_work/1/s/src/fsharp/lib.fs"
"D:/a/_work/1/s/src/fsharp/lib.fsi"
"D:/a/_work/1/s/src/fsharp/XmlAdapters.fs"
"D:/a/_work/1/s/src/fsharp/XmlAdapters.fsi"
"D:/a/_work/1/s/src/fsharp/absil/zset.fs"
"D:/a/_work/1/s/src/fsharp/absil/zmap.fs"
"D:/a/_work/1/s/src/fsharp/absil/ildiag.fs"
"D:/a/_work/1/s/src/fsharp/absil/ildiag.fsi"
"D:/a/_work/1/s/src/fsharp/utils/FileSystem.fsi"
"D:/a/_work/1/s/src/fsharp/absil/illib.fsi"
"D:/a/_work/1/s/src/fsharp/utils/EditDistance.fs"
"D:/a/_work/1/s/src/fsharp/utils/ResizeArray.fs"
"D:/a/_work/1/s/src/fsharp/LanguageFeatures.fs"
"D:/a/_work/1/s/src/fsharp/LanguageFeatures.fsi"
"D:/a/_work/1/s/src/fsharp/Logger.fsi"
"D:/a/_work/1/s/src/fsharp/sr.fs"
"D:/a/_work/1/s/src/fsharp/sr.fsi"
"D:/a/_work/1/s/src/fsharp/utils/sformat.fsi"
"D:/a/_work/1/s/artifacts/obj/FSharp.Compiler.Service/Release/netstandard2.0/buildproperties.fs"]
This is long, but the gist of it (verified by digging into the assembly with ilSpy) is that indeed, the file is missing from the list of sourcelink files embedded into the dll.
I did a pass over the list and collected the list of files that a) are .fs files, and b) could feasibly have .fsi files. I started checking each of them for matching .fsi files, but 63 is a lot. Suffice to say, all of the ones I checked did in fact have a paired .fsi file in the repo, and in the FCS project, but not in the embedded file list in the assembly. The full list is
List of files with missing .fsi files
"D:/a/_work/1/s/src/fsharp/absil/ilx.fs"
"D:/a/_work/1/s/src/fsharp/absil/zmap.fs"
"D:/a/_work/1/s/src/fsharp/absil/zset.fs"
"D:/a/_work/1/s/src/fsharp/AccessibilityLogic.fs"
"D:/a/_work/1/s/src/fsharp/AttributeChecking.fs"
"D:/a/_work/1/s/src/fsharp/BinaryResourceFormats.fs"
"D:/a/_work/1/s/src/fsharp/block.fs"
"D:/a/_work/1/s/src/fsharp/CheckComputationExpressions.fs"
"D:/a/_work/1/s/src/fsharp/CheckFormatStrings.fs"
"D:/a/_work/1/s/src/fsharp/CompilerImports.fs"
"D:/a/_work/1/s/src/fsharp/DependencyManager/AssemblyResolveHandler.fs"
"D:/a/_work/1/s/src/fsharp/DependencyManager/NativeDllResolveHandler.fs"
"D:/a/_work/1/s/src/fsharp/Diagnostics.fs"
"D:/a/_work/1/s/src/fsharp/ErrorResolutionHints.fs"
"D:/a/_work/1/s/src/fsharp/fsc.fs"
"D:/a/_work/1/s/src/fsharp/FSharp.Compiler.Service/unknown"
"D:/a/_work/1/s/src/fsharp/FxResolver.fs"
"D:/a/_work/1/s/src/fsharp/ilx/EraseClosures.fs"
"D:/a/_work/1/s/src/fsharp/import.fs"
"D:/a/_work/1/s/src/fsharp/InfoReader.fs"
"D:/a/_work/1/s/src/fsharp/infos.fs"
"D:/a/_work/1/s/src/fsharp/InternalCollections.fs"
"D:/a/_work/1/s/src/fsharp/LegacyHostedCompilerForTesting.fs"
"D:/a/_work/1/s/src/fsharp/LexFilter.fs"
"D:/a/_work/1/s/src/fsharp/MethodCalls.fs"
"D:/a/_work/1/s/src/fsharp/MethodOverrides.fs"
"D:/a/_work/1/s/src/fsharp/NicePrint.fs"
"D:/a/_work/1/s/src/fsharp/ParseHelpers.fs"
"D:/a/_work/1/s/src/fsharp/PatternMatchCompilation.fs"
"D:/a/_work/1/s/src/fsharp/QueueList.fs"
"D:/a/_work/1/s/src/fsharp/ReferenceResolver.fs"
"D:/a/_work/1/s/src/fsharp/ScriptClosure.fs"
"D:/a/_work/1/s/src/fsharp/service/ExternalSymbol.fs"
"D:/a/_work/1/s/src/fsharp/service/FSharpParseFileResults.fs"
"D:/a/_work/1/s/src/fsharp/service/FSharpSource.fs"
"D:/a/_work/1/s/src/fsharp/service/ItemKey.fs"
"D:/a/_work/1/s/src/fsharp/service/SemanticClassification.fs"
"D:/a/_work/1/s/src/fsharp/service/SemanticClassificationKey.fs"
"D:/a/_work/1/s/src/fsharp/service/ServiceAssemblyContent.fs"
"D:/a/_work/1/s/src/fsharp/service/ServiceCompilerDiagnostics.fs"
"D:/a/_work/1/s/src/fsharp/service/ServiceConstants.fs"
"D:/a/_work/1/s/src/fsharp/service/ServiceParamInfoLocations.fs"
"D:/a/_work/1/s/src/fsharp/service/ServiceParseTreeWalk.fs"
"D:/a/_work/1/s/src/fsharp/service/ServiceStructure.fs"
"D:/a/_work/1/s/src/fsharp/service/ServiceXmlDocParser.fs"
"D:/a/_work/1/s/src/fsharp/SignatureConformance.fs"
"D:/a/_work/1/s/src/fsharp/symbols/Exprs.fs"
"D:/a/_work/1/s/src/fsharp/symbols/Symbols.fs"
"D:/a/_work/1/s/src/fsharp/SyntaxTree.fs"
"D:/a/_work/1/s/src/fsharp/SyntaxTrivia.fs"
"D:/a/_work/1/s/src/fsharp/tainted.fs"
"D:/a/_work/1/s/src/fsharp/TcGlobals.fs"
"D:/a/_work/1/s/src/fsharp/TypedTree.fs"
"D:/a/_work/1/s/src/fsharp/TypeRelations.fs"
"D:/a/_work/1/s/src/fsharp/UnicodeLexing.fs"
"D:/a/_work/1/s/src/fsharp/utils/EditDistance.fs"
"D:/a/_work/1/s/src/fsharp/utils/HashMultiMap.fs"
"D:/a/_work/1/s/src/fsharp/utils/prim-lexing.fs"
"D:/a/_work/1/s/src/fsharp/utils/prim-parsing.fs"
"D:/a/_work/1/s/src/fsharp/utils/ResizeArray.fs"
"D:/a/_work/1/s/src/fsharp/utils/RidHelpers.fs"
"D:/a/_work/1/s/src/fsharp/utils/TaggedCollections.fs"
"D:/a/_work/1/s/src/fsharp/XmlDocFileWriter.fs"
I think there might be a bug in how sourcelink files are embedded into the assembly for the compiler here, which also means there might be a bug in end-user projects as well.
I verified this both with the latest released FCS 41.0.3, as well as a freshly-built FCS dll from main.
Related information
- Operating system - Windows
- .NET Runtime kind (.NET Core, .NET Framework, Mono) - .NET SDK 6.0.202
- Editing Tools (e.g. Visual Studio Version, Visual Studio) - FSAC 0.53.2, FCS package 41.0.3
It looks to me like we are only listing debug documents for source that has a debug sequence point:
Documents = cenv.documents.EntriesAsArray
and
match includeSource doc.File with
| None -> ()
| Some blob ->
metadata.AddCustomDebugInformation(DocumentHandle.op_Implicit dbgInfo,
metadata.GetOrAddGuid embeddedSourceId,
metadata.GetOrAddBlob blob) |> ignore
I agree we should simply include all the source on the command line.
@baronfel I prepped a fix here: https://github.com/dotnet/fsharp/pull/13185/
I haven't tested it, though I'm pretty certain it will address the issue
I believe this is fixed.