Razor ビューで Nancy 0.14.1.0 を使用しています。VS 2010 で内部 Web サーバーを使用している限り、問題はありません。IIS 6 を実行している Web サーバーにデプロイしました。ルートは次のとおりです。
Get["/api/v1/admin/clients"] = parameters => {
return View["Admin/view", new DataAccessLayer(Context).admin_get_clients()];
};
クライアントのリストを返します (ここでは関係ありません)。
サーバー上のディレクトリ構造は、
置き場 コンテンツ 共有 |--- _Layout.cshtml ビュー |--- 管理者 |--- view.cshtml
私がキャッチする例外は
Nancy.ViewEngines.ViewNotFoundException: ビュー 'Admin/view' が見つかりません現在利用可能なビュー エンジン拡張機能: sshtml,html,htm 検査した場所: ,,,,views/api/Admin/view,api/Admin/view,views/Admin /view,Admin/view ルート パス: C:\Inetpub\Websites\Test\api\
少し気になるのは、「利用可能なビュー エンジン拡張機能」エントリです。ここに cshtml がありません...ただし、web.config には正しいエントリが含まれていると思います。
<compilation debug="true" targetFramework="4.0">
<buildProviders>
<add extension=".cshtml" type="Nancy.ViewEngines.Razor.BuildProviders.NancyCSharpRazorBuildProvider, Nancy.ViewEngines.Razor.BuildProviders" />
<add extension=".vbhtml" type="Nancy.ViewEngines.Razor.BuildProviders.NancyVisualBasicRazorBuildProvider, Nancy.ViewEngines.Razor.BuildProviders" />
</buildProviders>
</compilation>
背後の Nancy モジュールは正常に動作します: ルートを追加しました
Get["/api/v1/admin/clients/{id}"] = parameters => {
return "Hello";
};
「こんにちは」を取得します...
ヒントはありますか?