2

質問は次のリンクに関連しています。

WebSharper を使用してサーバー上で Google ビジュアライゼーション用のデータを生成するにはどうすればよいですか

最新バージョンの Websharper (オープン ソース アルファ リリース) を使用して上記を再実装したかったのですが、次のエラーが表示されます。

次のメタデータのデシリアライズに失敗しました: IntelliFactory.WebSharper.Google.Visualization、バージョン = 3.0.0.0、カルチャ = ニュートラル、PublicKeyToken = dcd983dec8f76a71

クライアント サーバー Web アプリケーションを開きました。それぞれのファイルのコードは次のとおりです。

Remoting.fs

namespace WebsiteX

open System
open IntelliFactory.WebSharper
open IntelliFactory.WebSharper.Html
open IntelliFactory.WebSharper.Google
open IntelliFactory.WebSharper.Google.Visualization
open IntelliFactory.WebSharper.Google.Visualization.Base
open IntelliFactory.WebSharper.EcmaScript
open IntelliFactory.WebSharper.Web


module Remoter =
[<Remote>]
let RandomData () =

    let random = new Random()
    let valueCount = 100
    let maxValue = 300
    let seriesCount = random.Next(5)

    let data = new Base.DataTable()
    data.addRows(valueCount)
    |> ignore        

    let addSeries index =
        let name = sprintf "Series %d" index
        data.addColumn(ColumnType.NumberType, name)
        |> ignore

        Seq.init valueCount (fun index -> random.Next(maxValue))
        |> Seq.iteri (fun valueIndex value -> data.setValue(index, valueIndex, value) |> ignore)

    [0 .. seriesCount]
    |> List.iter addSeries

    data

Client.fsで:

namespace WebsiteX

open IntelliFactory.WebSharper
open IntelliFactory.WebSharper.Html
open IntelliFactory.WebSharper.Google
open IntelliFactory.WebSharper.Google.Visualization
open IntelliFactory.WebSharper.Google.Visualization.Base
open Remoting

[<JavaScript>]
module Client =

    [<Remote>]    
    let dd = Remoter.RandomData() 


    [<JavaScript>]
    let Main() =
        Div []
        |>! OnAfterRender(fun container ->
            let visualization = new LineChart(container.Body)
            let options =
                LineChartOptions(
                    width = 400,
                    height = 240,
                    legend = Legend(position = LegendPosition.Bottom),
                    title = "Title")
        visualization.draw(dd, options))

Main.fs は何も変更していません (提供されているテンプレートと同じです)。私は Web 開発にあまり詳しくないので、簡単な答えがあるかもしれません。

ビルドしようとすると、次のメッセージが表示される理由: Failed to deserialize metadata for: IntelliFactory.WebSharper.Google.Visualization, Version=3.0.0.0, Culture=neutral, PublicKeyToken=dcd983dec8f76a71

Websharper をダウンロードし、Nuget からプレリリース バージョンをインストールしました。WebSharper.3.0.1.73-alpha および WebSharper.Google.Visualization.3.0.2.193-alpha の使用

WebSharper.3.0.3.76-alpha にアップグレードして修正しましたが、Google Chrome で実行すると次のようになります。

You called the draw() method with the wrong type of data rather than a DataTable or DataView

ありがとう!

4

0 に答える 0