現在、F#で独自の基本的なビューエンジンを実装しようとしています。基本的に、私はVirtualPathProviderViewEngineから継承しています。
これを行うには、2つのビューの場所を設定して、エンジンがビューを探す場所を認識できるようにする必要があります。私のF#タイプでは、上記から継承し、2つのビューの場所を以下のように設定しようとしています...
type FSharpViewEngine() =
inherit VirtualPathProviderViewEngine()
let viewLocations = [| "~/Views/{1}/{0}.fshtml"; "~/Views/Shared/{0}.fshtml" |]
member this.ViewLocationFormats = viewLocations
member this.PartialViewLocationFormats = viewLocations
上記のコードは、VirtualPathProviderViewEngineに必要なオーバーライドを省略しています。プロジェクトを実行すると、次のようなエラーメッセージが表示されます
プロパティ'ViewLocationFormats'をnullまたは空にすることはできません。
私が想定しているのは、上記の2つの基本メンバーを正しく設定していないことを意味します。私は上記を間違って割り当てているだけですか、それとも私が何か間違ったことをしているのではないかと思いますか?
追加情報として、起動時にGlobal.fs(global.asax)にViewEngineを追加しました...
ViewEngines.Engines.Add(new FSharpViewEngine())