On Ubuntu 18.04, mono 5.16.0.119 (preview), upgrading from docfx 2.32.2.0 to 2.39.1.0 and running docfx metadata gives:
[18-09-08 03:28:49.373]Warning:[ExtractMetadata](/home/roji/projects/doc/Npgsql/src/Npgsql/Npgsql.csproj)Error opening project /home/roji/projects/doc/Npgsql/src/Npgsql/Npgsql.csproj: Could not set up field 'Statement' due to: Could not load type of field 'Microsoft.CodeAnalysis.SQLite.Interop.SqlStatement:_rawStatement' (1) due to: Could not load file or assembly 'SQLitePCLRaw.core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1488e028ca7ab535' or one of its dependencies. assembly:/opt/docfx/Microsoft.CodeAnalysis.Workspaces.Desktop.dll type:SqlStatement member:(null). Ignored.
[18-09-08 03:28:49.373]Warning:[ExtractMetadata](/home/roji/projects/doc/Npgsql/src/Npgsql.GeoJSON/Npgsql.GeoJSON.csproj)Error opening project /home/roji/projects/doc/Npgsql/src/Npgsql.GeoJSON/Npgsql.GeoJSON.csproj: Could not set up field 'Statement' due to: Could not load type of field 'Microsoft.CodeAnalysis.SQLite.Interop.SqlStatement:_rawStatement' (1) due to: Could not load file or assembly 'SQLitePCLRaw.core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1488e028ca7ab535' or one of its dependencies. assembly:/opt/docfx/Microsoft.CodeAnalysis.Workspaces.Desktop.dll type:SqlStatement member:(null). Ignored.
Downloading https://www.nuget.org/packages/SQLitePCLRaw.core/ and manually copying the net45 version of SQLitePCLRaw.core.dll into the docfx dir seems to solve the problem.
I am also running into this issue on macOS, also with a preview version of Mono 5.16. The provided workaround also works. I suspect Mono is no longer shipping this assembly in its GAC and docfx should be bundling it.
| Component | Version |
|--|--|
| docfx | 2.38.1 |
| Mono | 5.16.0.163 |
| macOS | 10.14 Beta |
nuget install -OutputDirectory $TMPDIR SQLitePCLRaw.core -ExcludeVersion
for docfx in /usr/local/Cellar/docfx/*; do cp "$TMPDIR/SQLitePCLRaw.core/lib/net45/SQLitePCLRaw.core.dll" "$docfx/libexec"; done
I am trying to fix this. However, I encountered #3746 when after copying SQLitePCLRaw.core.dll.
@pietervdvn I see you mentioned you make it work in #4043, could you share more details?
I am testing this with mono 5.18.0.225 to run docfx 2.40.10, with a Linux docker image running on Windows.
Once I copied in the .dll as mentioned in the first comment, it just worked fine for me.
I downloaded the package from nuget, and took the netstandard1.0 version, that worked for me.
@pietervdvn Thank you for your information. I can fix my error by adding another missing DLL.
2.40.12 fixed this.
Most helpful comment
I am also running into this issue on macOS, also with a preview version of Mono 5.16. The provided workaround also works. I suspect Mono is no longer shipping this assembly in its GAC and docfx should be bundling it.
| Component | Version |
|--|--|
| docfx | 2.38.1 |
| Mono | 5.16.0.163 |
| macOS | 10.14 Beta |
Workaround