今日、 MVC Contribに含まれるプロジェクト MvcContrib.Samples.InputBuilders を変換して、 Spark View Engineで動作するように3 時間費やしましたが、これまでのところ変換できませんでした。
この2人がうまくいかない理由を知っている人はいますか?
私が行った変更
InputForm.spark:
<viewdata model="SampleInput" />
!{Html.InputForm()}
Global.asax.cs:
...
protected void Application_Start() {
RegisterRoutes(RouteTable.Routes);
InputBuilder.BootStrap();
ViewEngines.Engines.Clear();
ViewEngines.Engines.Add(new SparkViewFactory());
}
Web.config:
...
<spark>
<compilation debug="true"/>
<pages automaticEncoding="true">
<namespaces>
<add namespace="System"/>
<add namespace="System.Collections.Generic"/>
<add namespace="System.Linq"/>
<add namespace="System.Web.Mvc"/>
<add namespace="System.Web.Mvc.Ajax"/>
<add namespace="System.Web.Mvc.Html"/>
<add namespace="System.Web.Routing"/>
<add namespace="MvcContrib.UI.InputBuilder"/>
<add namespace="MvcContrib.UI.InputBuilder.Views"/>
<add namespace="Web.Models"/>
</namespaces>
</pages>
</spark>
(サンプル プロジェクトから最後の 3 つの名前空間をコピーしました。)
私が得ているエラー
Global.asax.cs で Spark/InputBuilder をセットアップする順序に応じて、2 つの異なる例外が発生します。
最初に InputBuilder をセットアップした場合、次に Spark (上記のコード):
エラー CS1061: 'System.Web.Mvc.HtmlHelper' には 'InputForm' の定義が含まれておらず、タイプ 'System.Web.Mvc.HtmlHelper' の最初の引数を受け入れる拡張メソッド 'InputForm' が見つかりませんでした (不足していますか? using ディレクティブまたはアセンブリ参照?)
最初に Spark をセットアップした場合、InputBuilder は次のようになります。
ビュー 'InputForm' またはそのマスターが見つかりませんでした。次の場所が検索されました。
~/Views/Home/InputForm.aspx
〜/Views/Shared/InputForm.aspx
~/Views/InputBuilders/InputForm.aspx
~/Views/Home/InputForm.ascx
~/Views/Shared/InputForm.ascx