更新包

时间:2015-05-13 15:53:32

标签: c# asp.net-mvc razor asp.net-mvc-5 owin

该项目运行正常,直到我通过更新所有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,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   资产)+252
  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,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个过滤器,ActionResult actionResult)+106
  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.WrappedAsyncResult 1.CallEndDelegate(IAsyncResult asyncResult) +42
System.Web.Mvc.Async.WrappedAsyncResultBase
1.End()+133
  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.WrappedAsyncVoid 1.CallEndDelegate(IAsyncResult asyncResult) +70
System.Web.Mvc.Async.WrappedAsyncResultBase
1.End()+139
  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.WrappedAsyncVoid 1.CallEndDelegate(IAsyncResult asyncResult) +62
System.Web.Mvc.Async.WrappedAsyncResultBase
1.End()+139
  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.WrappedAsyncVoid 1.CallEndDelegate(IAsyncResult asyncResult) +70
System.Web.Mvc.Async.WrappedAsyncResultBase
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 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

这是内容文件夹。

enter image description here

更新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>

7 个答案:

答案 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

即可