«Ссылка на объект не установлена ​​для объекта» при запуске с кассеты - PullRequest
1 голос
/ 26 марта 2012

Я пытаюсь начать с Кассета через NuGet. У меня проблемы с этим в моем приложении, поэтому я откатился и попробовал его в новом пустом веб-приложении ASP.NET MVC 3.

Однако проблема сохраняется. Следуя странице документации «Простота в использовании», я просто не могу заставить ее работать. Вот исключение и немного стека:

"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

Я просто выполнил два шага в документации, и вот что я получил. Что я делаю не так?

Вот как выглядит мой _Layout.cshtml файл:

@{
    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>

Ответы [ 2 ]

3 голосов
/ 26 марта 2012

Я понял это.

Я включил пакет Cassette.Views, который не создает файл CassetteConfiguration.cs по умолчанию, который объединяет каждый скрипт и каждый файл CSS в свой собственный пакет.Вот что вызвало исключение NullReferenceException.Чтобы заставить его работать, вам нужно добавить пакет Cassette.Web.В мою защиту описания пакетов в галерее NuGet не ясны, и один из них полагает, что пакет Views необходим для MVC, а другой - для WebForms.

Следующая проблема заключалась в том, что я ссылался на minified 'Скрипты .min.js, которые не подобраны компоновщиком (кажется).

2 голосов
/ 26 марта 2012

Невозможно воспроизвести проблему.

4 простых шага позволили мне получить полностью рабочий прототип менее чем за 30 секунд:

  1. Создание нового проекта ASP.NET MVC 3 в Visual Studio
  2. Install-Package Cassette.Web
  3. Index.cshtml:

    @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>
    
  4. Нажмите Ctrl + F5 , чтобы запустить проект
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...