My team has recently switched from using .net framework to use .net standard 2.0 for our F# libraries. We have some internal scripts that we run on our projects to automatically generate markdown documentation, and these scripts use the F# Compiler Services SDK to analyze the code and retrieve the type metadata, documentation comments, etc.
We are using the FSharp.Compiler.Service.ProjectCracker library to read our .fsproj files and generate the FSharpProjectOptions instance to use when running the FSharpChecker.ParseAndCheckFileInProject method. However, with the .net standard projects, we get the following error when calling ProjectCracker.GetProjectOptionsFromProjectFile:
System.Exception: Could not load project Example.fsproj in ProjectCollection.
Available tools:
["C:\Program Files (x86)\MSBuild\12.0\bin\amd64";
"C:\Program Files (x86)\MSBuild\14.0\bin\amd64";
"C:\Windows\Microsoft.NET\Framework64\v2.0.50727";
"C:\Windows\Microsoft.NET\Framework64\v3.5";
"C:\Windows\Microsoft.NET\Framework64\v4.0.30319"].
Message: The default XML namespace of the project must be the MSBuild XML namespace.
If the project is authored in the MSBuild 2003 format, please add xmlns="http://schemas.microsoft.com/developer/msbuild/2003" to the <Project> element.
If the project has been authored in the old 1.0 or 1.2 format, please convert it to MSBuild 2003 format.```
Is there any way to read .net standard project files using the Project Cracker library, or will we need to manually parse the file and create the FSharpProjectOptions by hand for our new libraries?