该项目运行正常,直到我通过更新所有NuGet包 NuGet Manager(我试图获得最新的OWIN包)。
这个错误发生在_Layout.cshtml中,我根本没有碰过它。
对象引用未设置为对象的实例。
描述:执行期间发生了未处理的异常 当前的网络请求。请查看堆栈跟踪了解更多信息 有关错误的信息以及它在代码中的起源。
异常详细信息:System.NullReferenceException:不是对象引用 设置为对象的实例。
来源错误:
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">
所以它抱怨这行代码: @ Scripts.Render(&#34;〜/内容/字体&#34)
但是你可以看到,这是VS生成的代码,我怎么能弄错呢?
我还检查了Conntent / font-awesome / fonts文件夹中的内容,并且所有必需的资源都在那里。
这是BundleConfig中的代码(也是自动生成的代码)
bundles.Add(new ScriptBundle("~/Content/fonts").Include(
"~/Content/font-awesome/fonts/fontawesome-*",
"~/Content/font-awesome/fonts/FontAwesome.otf"));
我的Microsoft.OWin.Security,Microsoft.OWin.Security.Google和Microsoft.OWin是版本3.0.1.0
更新2
这是堆栈跟踪:
堆栈追踪:
[NullReferenceException:对象引用未设置为的实例 对象。] Microsoft.Ajax.Utilities.JSParser.ParseExpression(AstNode leftHandSide,Boolean single,Boolean bCanAssign,JSToken inToken) +1007 Microsoft.Ajax.Utilities.JSParser.ParseExpressionStatement(布尔值 fSourceElement)+268
Microsoft.Ajax.Utilities.JSParser.ParseStatement(布尔 fSourceElement,Boolean skipImportantComment)+1552
Microsoft.Ajax.Utilities.JSParser.ParseBlock()+164
Microsoft.Ajax.Utilities.JSParser.ParseStatement(布尔 fSourceElement,Boolean skipImportantComment)+498
Microsoft.Ajax.Utilities.JSParser.ParseBlock()+164
Microsoft.Ajax.Utilities.JSParser.ParseStatement(布尔 fSourceElement,Boolean skipImportantComment)+498
Microsoft.Ajax.Utilities.JSParser.ParseBlock()+164
Microsoft.Ajax.Utilities.JSParser.ParseStatement(布尔 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回复)+310
System.Web.Optimization.Bundle.ApplyTransforms(BundleContext context, String bundleContent,IEnumerable1 bundleFiles) +263
1 资产)+252
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
System.Web.Optimization.AssetManager.RenderExplicit(String tagFormat, String []路径)+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:\职场\ LRC \ LRC \查看\ Shared_Layout.cshtml:15
System.Web.WebPages.WebPageBase.ExecutePageHierarchy()+271
System.Web.Mvc.WebViewPage.ExecutePageHierarchy()+ 1211 System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext,TextWriter writer,WebPageRenderingBase startPage)+ 1455 System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext,TextWriter writer)+41
System.Web.WebPages&LT;&GT; c__DisplayClass3.b__2(TextWriter的 编者)+335 System.Web.WebPages.HelperResult.WriteTo(TextWriter 作家)+42
System.Web.WebPages.WebPageExecutingBase.WriteTo(TextWriter writer, HelperResult内容)+45
System.Web.WebPages.WebPageBase.Write(HelperResult result)+53
System.Web.WebPages.WebPageBase.RenderSurrounding(字符串 partialViewName,Action1 body) +178
1 filters,Int32 filterIndex,ResultExecutingContext preContext, ControllerContext controllerContext,ActionResult actionResult)+116
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
System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult) +529
1个过滤器,ActionResult actionResult)+106
System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList
System.Web.Mvc.Async&LT;&GT; c__DisplayClass2b.b__1c() +321 System.Web.Mvc.Async。&lt;&gt; c__DisplayClass21.b__1e(IAsyncResult) asyncResult)+185
System.Web.Mvc.Async.WrappedAsyncResult1.CallEndDelegate(IAsyncResult asyncResult) +42
1.End()+133
System.Web.Mvc.Async.WrappedAsyncResultBase
System.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.WrappedAsyncVoid1.CallEndDelegate(IAsyncResult asyncResult) +70
1.End()+139
System.Web.Mvc.Async.WrappedAsyncResultBase
System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, 对象标签)+59
System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, 对象标签)+40
System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult)+44 System.Web.Mvc.Controller.b__15(IAsyncResult的 asyncResult,控制器控制器)+39
System.Web.Mvc.Async.WrappedAsyncVoid1.CallEndDelegate(IAsyncResult asyncResult) +62
1.End()+139
System.Web.Mvc.Async.WrappedAsyncResultBase
System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, 对象标签)+59
System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, 对象标签)+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.b__5(IAsyncResult的 asyncResult,ProcessRequestState innerState)+39
System.Web.Mvc.Async.WrappedAsyncVoid1.CallEndDelegate(IAsyncResult asyncResult) +70
1.End()+139
System.Web.Mvc.Async.WrappedAsyncResultBase
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 System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult) 结果)+38
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +932 System.Web.HttpApplication.ExecuteStep(IExecutionStep step,Boolean&amp; completedSynchronously)+188
更新3
这是内容文件夹。
更新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>
答案 0 :(得分:17)
检查javascript是否有错误。我的写作行是用函数&#39;
结尾的一半答案 1 :(得分:7)
这看起来像是javascript minifier中的一个错误。
Microsoft.Ajax.Utilities.Minifier.MinifyJavaScript(String source, CodeSettings codeSettings)
+987
请提交连接错误(我也会在Microsoft内部转发此主题)。
作为一种解决方法,您可以手动缩小脚本并直接包含它们,而不是使用捆绑器。
你能分享你的packages.config吗?它将有助于跟踪这个潜在的错误。
答案 2 :(得分:6)
所以我今天早些时候遇到了这个bug,并且能够找到有问题的代码。对于我自己来说,缩小器是因为错误地使用了表单的三元语句而导致的javascript错误:
var test = condition ? true_value ? false_value;
显然,第二个问号应该是一个冒号来做出有效的三元声明。这导致整个应用程序崩溃,抛出上述相同的错误。也许这与您遇到的问题不同,但它会产生相同的结果。
答案 3 :(得分:6)
这里通过替换&#34; ScriptBundle&#34;与&#34;捆绑&#34;在BundleConfig。
我们更换了以下内容:
bundles.Add(new ScriptBundle("~/bundles/mybundle").Include(
"~/Scripts/...",
"~/Scripts/..."));
使用:
bundles.Add(new Bundle("~/bundles/mybundle").Include(
"~/Scripts/...",
"~/Scripts/..."));
答案 4 :(得分:1)
ScriptBundle
类可用于捆绑脚本,不能用于捆绑样式。它与@Scripts.Render("~/scripts/bundle")
结合,呈现<script>
标记。
对于样式,有StyleBundle
类
bundles.Add(new StyleBundle("~/bundles/mybundle").Include(
"~/Content/...",
"~/Content/..."));
并与@Styles.Render("~/content/bundle")
结合,可创建<link>
代码。
答案 5 :(得分:1)
必须有一个JavaScript错误。
撤消更改,然后逐个检查更改,并检查浏览器中的更改。
答案 6 :(得分:0)
就我而言,由于verdor libs的变化,我无法直接修复js文件。
我的工作是使用指示捆绑的mi
n版本:不要缩小此文件。
例如:只需从select2.js
移至select2.min.js