Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Object reference not set to an instance of an object in _Layout.cshtml after updated packages

The project was running fine until I updated all NuGet packages via NuGet Manager (I was trying to get the latest OWIN packages).

This error is in the _Layout.cshtml and I have not touched it at all.

Object reference not set to an instance of an object.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.

Source Error:

Line 13:  
Line 14:     <!-- Custom Fonts -->
Line 15:     @Scripts.Render("~/Content/fonts")

Source File: f:\Workplace\lrc\lrc\Views\Shared_Layout.cshtml Line: 15


Update

Here is the code in the _Layout.cshtml (they are automatically generated when creating the project):

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="description" content="LRC - We are aiming at building up a healthier life style.">
    <meta name="author" content="Winston Fan">
    <title>@ViewBag.Title - LRC</title>
    @Styles.Render("~/Content/css")
    @Scripts.Render("~/bundles/modernizr")

    <!-- Custom Fonts -->
    @Scripts.Render("~/Content/fonts")
    
    <link href="http://fonts.googleapis.com/css?family=Lora:400,700,400italic,700italic" rel="stylesheet" type="text/css">
    <link href="http://fonts.googleapis.com/css?family=Montserrat:400,700" rel="stylesheet" type="text/css">

So it is complaining this line of code:

@Scripts.Render("~/Content/fonts")

But as you can see that, this is VS generated code, how could I make it wrong?

I also checked the content in the Conntent/font-awesome/fonts folder and all required resources are there.

Here is the code inside the BundleConfig (which is also the auto-generated code):

bundles.Add(new ScriptBundle("~/Content/fonts").Include(
              "~/Content/font-awesome/fonts/fontawesome-*",
              "~/Content/font-awesome/fonts/FontAwesome.otf"));

My Microsoft.OWin.Security, Microsoft.OWin.Security.Google and Microsoft.OWin are version 3.0.1.0.


Update 2

Here is the stack trace:

[NullReferenceException: Object reference not set to an instance of an
object.]    Microsoft.Ajax.Utilities.JSParser.ParseExpression(AstNode
leftHandSide, Boolean single, Boolean bCanAssign, JSToken inToken)
+1007    Microsoft.Ajax.Utilities.JSParser.ParseExpressionStatement(Boolean
fSourceElement) +268   
Microsoft.Ajax.Utilities.JSParser.ParseStatement(Boolean
fSourceElement, Boolean skipImportantComment) +1552   
Microsoft.Ajax.Utilities.JSParser.ParseBlock() +164   
Microsoft.Ajax.Utilities.JSParser.ParseStatement(Boolean
fSourceElement, Boolean skipImportantComment) +498   
Microsoft.Ajax.Utilities.JSParser.ParseBlock() +164   
Microsoft.Ajax.Utilities.JSParser.ParseStatement(Boolean
fSourceElement, Boolean skipImportantComment) +498   
Microsoft.Ajax.Utilities.JSParser.ParseBlock() +164   
Microsoft.Ajax.Utilities.JSParser.ParseStatement(Boolean
fSourceElement, Boolean skipImportantComment) +498   
Microsoft.Ajax.Utilities.JSParser.ParseStatements(Block block) +159   
Microsoft.Ajax.Utilities.JSParser.InternalParse() +1011   
Microsoft.Ajax.Utilities.JSParser.Parse(DocumentContext sourceContext)
+123    Microsoft.Ajax.Utilities.JSParser.Parse(DocumentContext sourceContext, CodeSettings settings) +54   
Microsoft.Ajax.Utilities.Minifier.MinifyJavaScript(String source,
CodeSettings codeSettings) +987   
System.Web.Optimization.JsMinify.Process(BundleContext context,
BundleResponse response) +310   
System.Web.Optimization.Bundle.ApplyTransforms(BundleContext context,
String bundleContent, IEnumerable`1 bundleFiles) +263   
System.Web.Optimization.Bundle.GenerateBundleResponse(BundleContext
context) +355   
System.Web.Optimization.Bundle.GetBundleResponse(BundleContext
context) +104   
System.Web.Optimization.BundleResolver.GetBundleContents(String
virtualPath) +254   
System.Web.Optimization.AssetManager.DeterminePathsToRender(IEnumerable`1
assets) +252   
System.Web.Optimization.AssetManager.RenderExplicit(String tagFormat,
String[] paths) +75   
System.Web.Optimization.Scripts.RenderFormat(String tagFormat,
String[] paths) +292   
System.Web.Optimization.Scripts.Render(String[] paths) +51   
ASP._Page_Views_Shared__Layout_cshtml.Execute() in
f:\Workplace\lrc\lrc\Views\Shared\_Layout.cshtml:15   
System.Web.WebPages.WebPageBase.ExecutePageHierarchy() +271   
System.Web.Mvc.WebViewPage.ExecutePageHierarchy() +121   
System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext
pageContext, TextWriter writer, WebPageRenderingBase startPage) +145  
System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext
pageContext, TextWriter writer) +41   
System.Web.WebPages.<>c__DisplayClass3.<RenderPageCore>b__2(TextWriter
writer) +335    System.Web.WebPages.HelperResult.WriteTo(TextWriter
writer) +42   
System.Web.WebPages.WebPageExecutingBase.WriteTo(TextWriter writer,
HelperResult content) +45   
System.Web.WebPages.WebPageBase.Write(HelperResult result) +53   
System.Web.WebPages.WebPageBase.RenderSurrounding(String
partialViewName, Action`1 body) +178   
System.Web.WebPages.WebPageBase.PopContext() +229   
System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext
pageContext, TextWriter writer, WebPageRenderingBase startPage) +154  
System.Web.Mvc.RazorView.RenderView(ViewContext viewContext,
TextWriter writer, Object instance) +695   
System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext
viewContext, TextWriter writer) +382   
System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context)
+431    System.Web.Mvc.ControllerActionInvoker.InvokeActionResult(ControllerContext
controllerContext, ActionResult actionResult) +39   
System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1
filters, Int32 filterIndex, ResultExecutingContext preContext,
ControllerContext controllerContext, ActionResult actionResult) +116  
System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1
filters, Int32 filterIndex, ResultExecutingContext preContext,
ControllerContext controllerContext, ActionResult actionResult) +529  
System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext
controllerContext, IList`1 filters, ActionResult actionResult) +106   
System.Web.Mvc.Async.<>c__DisplayClass2b.<BeginInvokeAction>b__1c()
+321    System.Web.Mvc.Async.<>c__DisplayClass21.<BeginInvokeAction>b__1e(IAsyncResult
asyncResult) +185   
System.Web.Mvc.Async.WrappedAsyncResult`1.CallEndDelegate(IAsyncResult
asyncResult) +42   
System.Web.Mvc.Async.WrappedAsyncResultBase`1.End() +133   
System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult,
Object tag) +56   
System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult
asyncResult) +40   
System.Web.Mvc.Controller.<BeginExecuteCore>b__1d(IAsyncResult
asyncResult, ExecuteCoreState innerState) +34   
System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult
asyncResult) +70   
System.Web.Mvc.Async.WrappedAsyncResultBase`1.End() +139   
System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult,
Object tag) +59   
System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult,
Object tag) +40   
System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) +44
System.Web.Mvc.Controller.<BeginExecute>b__15(IAsyncResult
asyncResult, Controller controller) +39   
System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult
asyncResult) +62   
System.Web.Mvc.Async.WrappedAsyncResultBase`1.End() +139   
System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult,
Object tag) +59   
System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult,
Object tag) +40    System.Web.Mvc.Controller.EndExecute(IAsyncResult
asyncResult) +39   
System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.EndExecute(IAsyncResult
asyncResult) +39   
System.Web.Mvc.MvcHandler.<BeginProcessRequest>b__5(IAsyncResult
asyncResult, ProcessRequestState innerState) +39   
System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult
asyncResult) +70   
System.Web.Mvc.Async.WrappedAsyncResultBase`1.End() +139   
System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult,
Object tag) +59   
System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult,
Object tag) +40   
System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult)
+40    System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult
result) +38   
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
+932    System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +188

Update 3

Here is the Content folder:

enter image description here


Update 4

Here is the content of the packages.config:

<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="Antlr" version="3.5.0.2" targetFramework="net451" />
  <package id="bootstrap" version="3.3.4" targetFramework="net451" />
  <package id="EntityFramework" version="6.1.3" targetFramework="net451" />
  <package id="jQuery" version="2.1.3" targetFramework="net451" />
  <package id="jQuery.Validation" version="1.13.1" targetFramework="net451" />
  <package id="Microsoft.AspNet.Identity.Core" version="2.2.1" targetFramework="net451" />
  <package id="Microsoft.AspNet.Identity.EntityFramework" version="2.2.1" targetFramework="net451" />
  <package id="Microsoft.AspNet.Identity.Owin" version="2.2.1" targetFramework="net451" />
  <package id="Microsoft.AspNet.Mvc" version="5.2.3" targetFramework="net451" />
  <package id="Microsoft.AspNet.Razor" version="3.2.3" targetFramework="net451" />
  <package id="Microsoft.AspNet.Web.Optimization" version="1.1.3" targetFramework="net451" />
  <package id="Microsoft.AspNet.WebApi" version="5.2.3" targetFramework="net451" />
  <package id="Microsoft.AspNet.WebApi.Client" version="5.2.3" targetFramework="net451" />
  <package id="Microsoft.AspNet.WebApi.Core" version="5.2.3" targetFramework="net451" />
  <package id="Microsoft.AspNet.WebApi.WebHost" version="5.2.3" targetFramework="net451" />
  <package id="Microsoft.AspNet.WebPages" version="3.2.3" targetFramework="net451" />
  <package id="Microsoft.jQuery.Unobtrusive.Validation" version="3.2.3" targetFramework="net451" />
  <package id="Microsoft.Owin" version="3.0.1" targetFramework="net451" />
  <package id="Microsoft.Owin.Host.SystemWeb" version="3.0.1" targetFramework="net451" />
  <package id="Microsoft.Owin.Security" version="3.0.1" targetFramework="net451" />
  <package id="Microsoft.Owin.Security.Cookies" version="3.0.1" targetFramework="net451" />
  <package id="Microsoft.Owin.Security.Facebook" version="3.0.1" targetFramework="net451" />
  <package id="Microsoft.Owin.Security.Google" version="3.0.1" targetFramework="net451" />
  <package id="Microsoft.Owin.Security.MicrosoftAccount" version="3.0.1" targetFramework="net451" />
  <package id="Microsoft.Owin.Security.OAuth" version="3.0.1" targetFramework="net451" />
  <package id="Microsoft.Owin.Security.Twitter" version="3.0.1" targetFramework="net451" />
  <package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net451" />
  <package id="Modernizr" version="2.8.3" targetFramework="net451" />
  <package id="Newtonsoft.Json" version="6.0.8" targetFramework="net451" />
  <package id="Owin" version="1.0" targetFramework="net451" />
  <package id="Respond" version="1.4.2" targetFramework="net451" />
  <package id="WebGrease" version="1.6.0" targetFramework="net451" />
</packages>
like image 805
Franva Avatar asked May 13 '15 15:05

Franva


4 Answers

Here it was fixed by replacing "ScriptBundle" with "Bundle" in BundleConfig.

We replaced the following:

bundles.Add(new ScriptBundle("~/bundles/mybundle").Include(
            "~/Scripts/...",
            "~/Scripts/..."));

with:

bundles.Add(new Bundle("~/bundles/mybundle").Include(
            "~/Scripts/...",
            "~/Scripts/..."));
like image 99
Ron Deijkers Avatar answered Oct 11 '22 22:10

Ron Deijkers


Check javascript for errors. Mine was a half written line ending with 'function'

like image 26
Simon Legg Avatar answered Oct 11 '22 22:10

Simon Legg


This looks like a bug in the javascript minifier.

Microsoft.Ajax.Utilities.Minifier.MinifyJavaScript(String source, CodeSettings codeSettings) +987

Please file a connect bug (i'll forward this thread internally in Microsoft as well).

As a workaround you can minify the scripts manually and include them directly instead of using the bundler.

Can you share your packages.config please? It will help with tracking this potential bug.

like image 8
Yishai Galatzer Avatar answered Oct 11 '22 21:10

Yishai Galatzer


So I ran into this bug earlier today and was able to track down the offending code. For myself, the minifier was choking on a bad line of javascript that was incorrectly using a ternary statement of the form:

var test = condition ? true_value ? false_value;

Obviously, the second question mark should have been a colon to make a valid ternary statement. This caused the entire application to crash throwing the same error above. Perhaps this isn't the same issue you ran into, but it gives the same results.

like image 6
jamesmillerio Avatar answered Oct 11 '22 20:10

jamesmillerio