2012-03-26 16 views
1

NuGet経由でCassetteを使い始めようとしています。私は私のアプリでそれに問題があるので私はロールバックし、新しい空のASP.NET MVC 3 Webアプリケーションでそれを試してみました。カセットで始めるときに「オブジェクト参照がオブジェクトに設定されていません」

ただし、問題は解決しません。 「使いやすい」ドキュメントページに続いて、私はそれを動作させることができません。ここでは、スタックの一部と一緒に例外があります:

"Object reference not set to an instance of an object." 

[NullReferenceException: Object reference not set to an instance of an object.] 
    Cassette.CassetteApplicationContainer.get_Application() +6 
    Cassette.Views.Bundles.Reference(String assetPathOrBundlePathOrUrl, String pageLocation) +14 
    ASP._Page_Views_Shared__Layout_cshtml.Execute() in d:\Dave\Documents\Visual Studio 2010\Projects\CasetteTest\Views\Shared\_Layout.cshtml:2 
    System.Web.WebPages.WebPageBase.ExecutePageHierarchy() +207 

私は単にドキュメントの2つの手順に従って、これは私が得るものです。私は間違って何をしていますか?

@{ 
    Bundles.Reference("Scripts/jquery-1.5.1.min.js"); 
    Bundles.Reference("Scripts/modernizr-1.7.min.js");  
} 
<!DOCTYPE html> 
<html> 
<head> 
    <meta charset="utf-8" /> 
    <title>@ViewBag.Title</title> 
    <link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" /> 
</head> 

<body> 
    @RenderBody() 
    @Bundles.RenderScripts(); 
</body> 
</html> 

答えて

3

私はそれを理解しました。

デフォルトのCassetteConfiguration.csファイルを作成しないCassette.Viewsパッケージが含まれています。このファイルでは、各スクリプトと各CSSファイルがそれぞれのバンドルにバンドルされています。これがNullReferenceExceptionを引き起こした原因です。これを動作させるには、代わりにCassette.Webパッケージを追加する必要があります。私の主張では、NuGetギャラリーのパッケージ記述は明確ではなく、ViewsパッケージはMVCとWebFormsの両方に必要であると信じられています。

次の問題は、バンドル業者が選択していないミニマイズされた '.min.js'スクリプトを参照していたことです(これは思われます)。

2

は、問題を再現することはできません:

は、これは私の_Layout.cshtmlファイルは次のようになります。

  1. Install-Package Cassette.Web
  2. Index.cshtmlのVisual Studioで新しいASP.NET MVC 3プロジェクトを作成します:

    4つの簡単な手順は、私が30秒未満で完全に動作するプロトタイプを取得することができ

    @using Cassette.Web 
    @{ 
        Bundles.Reference("~/Scripts/jquery-1.5.1.js"); 
        Bundles.Reference("~/Scripts/jquery-ui-1.8.11.js"); 
        Bundles.Reference("~/Content/site.css"); 
        Layout = null; 
    } 
    <!DOCTYPE html> 
    <html> 
    <head> 
        <title>Web App</title> 
        @Bundles.RenderStylesheets() 
    </head> 
    <body> 
        <div>Hello World</div> 
        @Bundles.RenderScripts() 
    </body> 
    </html> 
    
  3. はprojecを実行するために、F5Ctrlキー+ヒットt
関連する問題