Fra*_*nva 20 c# asp.net-mvc razor owin asp.net-mvc-5
该项目运行正常,直到我通过NuGet Manager更新了所有NuGet包(我试图获得最新的OWIN包).
这个错误发生在_Layout.cshtml中,我根本没有触及它.
你调用的对象是空的.
描述:执行当前Web请求期间发生未处理的异常.请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息.
异常详细信息:System.NullReferenceException:未将对象引用设置为对象的实例.
来源错误:
Run Code Online (Sandbox Code Playgroud)Line 13: Line 14: <!-- Custom Fonts --> Line 15: @Scripts.Render("~/Content/fonts")源文件:f:\ Workplace\lrc\lrc\Views\Shared_Layout.cshtml行:15
更新
这是_Layout.cshtml中的代码(它们是在创建项目时自动生成的)
<!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">
Run Code Online (Sandbox Code Playgroud)
所以它抱怨这行代码:@ Scripts.Render("〜/ Content/fonts")
但是你可以看到,这是VS生成的代码,我怎么能错呢?
我还检查了Conntent/font-awesome/fonts文件夹中的内容,并且所有必需的资源都在那里.
这是BundleConfig中的代码(也是自动生成的代码)
bundles.Add(new ScriptBundle("~/Content/fonts").Include(
"~/Content/font-awesome/fonts/fontawesome-*",
"~/Content/font-awesome/fonts/FontAwesome.otf"));
Run Code Online (Sandbox Code Playgroud)
我的Microsoft.OWin.Security,Microsoft.OWin.Security.Google和Microsoft.OWin是版本3.0.1.0
更新2
这是堆栈跟踪:
堆栈跟踪:
[的NullReferenceException:对象没有设置为一个对象的一个实例.] Microsoft.Ajax.Utilities.JSParser.ParseExpression(AstNode leftHandSide,布尔单,布尔bCanAssign,JSToken inToken)1007 Microsoft.Ajax.Utilities.JSParser.ParseExpressionStatement(布尔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(布尔fSourceElement,布尔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.InternalPa rse()+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 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()在F:\职场\ LRC\LRC \查看\ 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.b__2(TextWriter writer)+335 System.Web. WebPages.HelperResult.WriteTo(TextWriter的作家)+42 System.Web.WebPages.WebPageExecutingBase.WriteTo(TextWriter的作家,HelperResult内容)+45 System.Web.WebPages.WebPageBase.Write(HelperResult结果)+53 System.Web.WebPages. WebPageBase.RenderSurrounding(String partialViewName,Action 1 filters,Int32 filterIndex,ResultExecutingContext preContext,ControllerContext controllerContext,ActionResult actionResult)+116 System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList 1 filters,ActionResult actionResult)+106 System.Web.Mvc. Async.<> c__DisplayClass2b.b__1c()+ 321 System.Web.Mvc.Async.<> c__DisplayClass21.b__1e(IAsyncResult asyncResult)+185 System.Web.Mvc.Async.WrappedAsyncResult 1.End()+ 133 S ystem.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult的asyncResult,对象标签)56 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult的asyncResult)40 System.Web.Mvc.Controller.b__1d(IAsyncResult的asyncResult, ExecuteCoreState innerState)+34 System.Web.Mvc.Async.WrappedAsyncVoid 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.b__15(IAsyncResult asyncResult,Controller controller)+39 System.Web.Mvc. Async.WrappedAsyncVoid 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.IAsyncContro ller.EndExecute(IAsyncResult asyncResult)+39 System.Web.Mvc.MvcHandler.b__5(IAsyncResult asyncResult,ProcessRequestState innerState)+39 System.Web.Mvc.Async.WrappedAsyncVoid 1.End()+139 System.Web.Mvc.Async .AsyncResultWrapper.End(IAsyncResult的asyncResult,对象标签)59 System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult的asyncResult,对象标签)40 System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult的asyncResult)40系统. 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)+1881 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(IEnumerable1 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(IList1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult) +529
System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList1.CallEndDelegate(IAsyncResult asyncResult) +42
System.Web.Mvc.Async.WrappedAsyncResultBase1.CallEndDelegate(IAsyncResult asyncResult) +70
System.Web.Mvc.Async.WrappedAsyncResultBase1.CallEndDelegate(IAsyncResult asyncResult) +62
System.Web.Mvc.Async.WrappedAsyncResultBase1.CallEndDelegate(IAsyncResult asyncResult) +70
System.Web.Mvc.Async.WrappedAsyncResultBase
更新3
这是Content文件夹.

更新4
这是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>
Run Code Online (Sandbox Code Playgroud)
Ron*_*ers 18
这里通过在BundleConfig中将"ScriptBundle"替换为"Bundle"来修复.
我们更换了以下内容:
bundles.Add(new ScriptBundle("~/bundles/mybundle").Include(
"~/Scripts/...",
"~/Scripts/..."));
Run Code Online (Sandbox Code Playgroud)
有:
bundles.Add(new Bundle("~/bundles/mybundle").Include(
"~/Scripts/...",
"~/Scripts/..."));
Run Code Online (Sandbox Code Playgroud)
这看起来像是javascript minifier中的一个bug.
Microsoft.Ajax.Utilities.Minifier.MinifyJavaScript(String source, CodeSettings codeSettings) 987
请提交连接错误(我也会在Microsoft内部转发此主题).
作为一种解决方法,您可以手动缩小脚本并直接包含它们,而不是使用捆绑器.
你可以分享你的packages.config吗?它将有助于跟踪这个潜在的错误.
所以我今天早些时候碰到了这个bug,并且能够找到有问题的代码.对于我自己来说,缩小器是在一个错误的使用表单的三元语句错误的javascript线上窒息:
var test = condition ? true_value ? false_value;
Run Code Online (Sandbox Code Playgroud)
显然,第二个问号应该是一个冒号来做出有效的三元声明.这导致整个应用程序崩溃,抛出上述相同的错误.也许这不是你遇到的同一个问题,但它给出了相同的结果.
| 归档时间: |
|
| 查看次数: |
13776 次 |
| 最近记录: |