Plotly.NET
Plotly.NET copied to clipboard
Giraffe.ViewEngine.StrongName breaks compatability with Giraffe server
Description
Hey, thanks for you effort in this library, it really is amazing.
I came about an issue with the fork project mentioned here https://github.com/giraffe-fsharp/Giraffe.ViewEngine/issues/23
It is currently not possible to render a chart to json in a giraffe backend via toJson gChart as it was added in version 4.1.0 which doesn't work with giraffe due to a presence of forked Giraffe.ViewEngine.StrongName
package
Components.fs(286,9): error FS0001: All elements of a list must be implicitly convertible to the type of the first element, which here is
'Giraffe.ViewEngine.HtmlElements.XmlAttribute (Giraffe.ViewEngine.StrongName, Version=2.0.0.0, Culture=neutral, PublicKeyToken=028aa8e2a326f4d0)'.
This element has type 'Giraffe.ViewEngine.HtmlElements.XmlAttribute (Giraffe.ViewEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null)'.
[Components.fsproj::TargetFramework=net8.0]
Repro steps
dotnet new giraffe -o plot
cd plot
dotnet add package Plotly.Net
dotnet build
Expected behavior
Project builds
Actual behavior
/home/a/projects/plot/Program.fs(57,14): error FS0001: This expression was expected to have type 'Giraffe.ViewEngine.HtmlElements.XmlNode (Giraffe.ViewEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null)' but here has type 'Giraffe.ViewEngine.HtmlElements.XmlNode (Giraffe.ViewEngine.StrongName, Version=2.0.0.0, Culture=neutral, PublicKeyToken=028aa8e2a326f4d0)' [/home/a/projects/plot/plot.fsproj]
Build FAILED.
Known workarounds
Fork Plotly.Net and revert the change
Related information
- Operating system Linux
- Branch v4.1.0+
- dotnet 8.0.204
Hey, thanks for you effort in this library, it really is amazing.
thanks!
Fork Plotly.Net and revert the change
this will only work in an environment that does not care about this strong naming clusterfck. I really regret supporting this, and I think i might actually revert it in a future version. But for the moment i have no idea what i could do about this that would not lead to either a) breaking compatibility for netfx/strong naming stuff or b) depend on the Giraffe team on signing the original package.
However, a workaround could be including the raw html output, which would be GenericChart.toChartHTML
, which is just calling toChartHTMLNodes
and renders it as a string, meaning it should lead to the same output if you just yield the raw string.