5

内部例外:

{"Unable to locate view 'home'\r\nCurrently available view engine extensions: cshtml,vbhtml,sshtml,html,htm\r\nLocations inspected: ,,,,,,,,views/Store/home-he-   IL,views/Store/home,Store/home-he-IL,Store/home,views/home-he-IL,views/home,home-he-IL,home\r\nRoot path: "}

テストコード:

[TestFixture]
public class Class1
{
    [Test]
    public void Spike()
    {
        // Given
        var foo = typeof (RazorViewEngine);
        var bar = typeof (SuperSimpleViewEngine);
        var bootstrapper = new Bootstrapper();
        var browser = new Browser(bootstrapper);

        // When
        var result = browser.Get("/mytest", with =>
        {
            with.HttpRequest();
        });

        // Then
        Assert.AreEqual(HttpStatusCode.OK, result.StatusCode);
    }
}

モジュールは次のようになります。

public class YonatanModule : NancyModule
{
    public YonatanModule()
    {
        Get["/mytest"] = o =>
            {
                return View["home"];
            };
    }        
}

thisおよびthisNancy.ViewEngines.Razorに従って、 への参照を追加しようとしました。 私はRazorでNancy 0.16.1を使用しています(ただし、この最初のテストはクリーンなhtmlページで試しています)。 また、Azure を使用していますが、この場合、エミュレーターなどは実行しません。

4

1 に答える 1

3

「出力ディレクトリにコピー」で「常にコピー」ビューをマークすることで解決しました。
Web プロジェクトでは機能するのにBrowser、テスト プロジェクトでは機能しない理由がわかりません。

于 2013-05-20T13:07:45.723 に答える