【问题标题】:Azure MVC5 BundleTransformer Less Out of MemoryAzure MVC5 BundleTransformer 内存不足
【发布时间】:2015-09-26 13:20:32
【问题描述】:

我刷新了我的网站并获得了将我的 Css 重写为 Less 的好处。 该网站是一个带有 MVC 5 和用于 Js 和 Less 的 BundleTransformer 的 web azure 应用程序。 在本地 iis10 和 iisExpress 上一切正常。

但是在 azure 上部署之后。我赢得了一个巨大的错误 500:

Exception: BundleTransformer.Core.Translators.AssetTranslationException 
    InnerException: JavaScriptEngineSwitcher.Core.JsRuntimeException: Out of memory 
    ---> MsieJavaScriptEngine.JsRuntimeException: Out of memory bei MsieJavaScriptEngine.ActiveScript.ActiveScriptJsEngineBase.InvokeScript(Action action) bei 
    JavaScriptEngineSwitcher.Msie.MsieJsEngine.InnerExecute(String code) 
    --- Ende der internen Ausnahmestapelüberwachung 
    --- bei JavaScriptEngineSwitcher.Msie.MsieJsEngine.InnerExecute(String code) 
    bei BundleTransformer.Less.Compilers.LessCompiler.Initialize() 
    bei BundleTransformer.Less.Compilers.LessCompiler.Compile(String content, String path, DependencyCollection dependencies, CompilationOptions options) 
    bei BundleTransformer.Less.Translators.LessTranslator.InnerTranslate(IAsset asset, LessCompiler lessCompiler, Boolean enableNativeMinification) 
    Message: During translation of LESS-code, readed from the file '/Content/less/light.less', to CSS-code error has occurred. 
    See more details: Out of memory StackTrace: bei BundleTransformer.Less.Translators.LessTranslator.InnerTranslate(IAsset asset, LessCompiler lessCompiler, Boolean enableNativeMinification) 
    bei BundleTransformer.Less.Translators.LessTranslator.Translate(IList`1 assets) bei BundleTransformer.Core.Transformers.TransformerBase.Translate(IList`1 assets, Boolean isDebugMode) 
    bei BundleTransformer.Core.Transformers.TransformerBase.Transform(IList`1 assets, BundleContext bundleContext, BundleResponse bundleResponse, VirtualPathProvider virtualPathProvider, Boolean isDebugMode) 
    bei BundleTransformer.Core.Transformers.TransformerBase.Process(BundleContext bundleContext, BundleResponse bundleResponse, Boolean isDebugMode) 
    bei System.Web.Optimization.Bundle.ApplyTransforms(BundleContext context, String bundleContent, IEnumerable`1 bundleFiles) 
    bei System.Web.Optimization.Bundle.GetBundleResponse(BundleContext context) 
    bei System.Web.Optimization.BundleResolver.GetBundleContents(String virtualPath) 
    bei System.Web.Optimization.AssetManager.EliminateDuplicatesAndResolveUrls(IEnumerable`1 refs) 
    bei System.Web.Optimization.AssetManager.DeterminePathsToRender(IEnumerable`1 assets)
    bei System.Web.Optimization.AssetManager.RenderExplicit(String tagFormat, String[] paths) 
    bei ASP._Page_Views_Shared__Layout_cshtml.Execute() in d:\home\site\wwwroot\Views\Shared\_Layout.cshtml:Zeile 42. 
    bei System.Web.WebPages.WebPageBase.ExecutePageHierarchy() bei System.Web.Mvc.WebViewPage.ExecutePageHierarchy() 
    bei System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage) 
    bei System.Web.WebPages.WebPageBase.RenderSurrounding(String partialViewName, Action`1 body) bei System.Web.WebPages.WebPageBase.PopContext() 
    bei System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context) 
    bei System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult) 
    bei System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult) 
    bei System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult) 
    bei System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult) 
    bei System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList`1 filters, ActionResult actionResult) 
    bei System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass21.<BeginInvokeAction>b__1e(IAsyncResult asyncResult)
    bei System.Web.Mvc.Controller.<BeginExecuteCore>b__1d(IAsyncResult asyncResult, ExecuteCoreState innerState) 
    bei System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) 
    bei System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) bei System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) 
    bei System.Web.Mvc.MvcHandler.<BeginProcessRequest>b__5(IAsyncResult asyncResult, ProcessRequestState innerState) 
    bei System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) bei System.Web.HttpApplication.CallHandlerExecutionStep.OnAsyncHandlerCompletion(IAsyncResult ar)

我在网上找到的唯一提示是this

有什么想法吗? 谢谢。

【问题讨论】:

  • 你不能使用 webessentials / 一些工具或一个繁重的任务来转换你的 less 文件并且只在你的 StyleBundle 中包含 css 吗?
  • 我会说在部署之前使用 gulp 之类的东西进行捆绑。无论如何,这是 vNext 的方法
  • 我已经用 webessential 完成了“技巧”,但很糟糕,它没有以正确的方式工作。 :-s

标签: asp.net-mvc azure less azure-web-app-service bundletransformer


【解决方案1】:

我将引擎切换到

<jsEngine name="V8JsEngine" />

现在它可以在 azure 上运行 :)

【讨论】:

    【解决方案2】:

    很可能,服务器上安装了旧版本的 Internet Explorer(9.0 版之前),它不支持 Chakra JavaScript 引擎。

    【讨论】:

      猜你喜欢
      • 2014-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-15
      • 2020-06-15
      • 2011-05-21
      • 2021-12-20
      • 2021-10-29
      相关资源
      最近更新 更多