4

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";
        };

「こんにちは」を取得します...

ヒントはありますか?

4

4 に答える 4

2

Nancy razor パッケージを展開していないか、なんらかの理由 (依存関係が失われている可能性があります) で読み込めないため、ファイルの種類が一覧表示されません。

于 2013-01-16T11:51:48.793 に答える
1

閉じるが、ナンシーのカミソリのパッケージはなくなっていなかった。Nancy razor パッケージがデプロイされました。欠けていたのは System.Razor.dll だけでした。私もそれを展開して完了しました:)

于 2013-01-16T13:47:59.740 に答える
0

この問題は、Nancy テンプレート プロジェクトでまだ発生しています。Nancy nuget 参照を削除して再度追加する必要があります。パッケージの復元を有効にするだけでは十分ではないようです。

于 2014-02-12T08:04:45.120 に答える