【发布时间】:2016-10-09 02:44:22
【问题描述】:
如果您从 BundleTransformer 的版本 1 升级到版本 2,您可能会收到以下消息:
找不到创建 JavaScript 实例的工厂 名称为
MsieJsEngine的引擎。
像我一样,您甚至可能没有意识到您的升级不仅仅是一个单点版本。
如何解决?
【问题讨论】:
如果您从 BundleTransformer 的版本 1 升级到版本 2,您可能会收到以下消息:
找不到创建 JavaScript 实例的工厂 名称为
MsieJsEngine的引擎。
像我一样,您甚至可能没有意识到您的升级不仅仅是一个单点版本。
如何解决?
【问题讨论】:
所以首先删除它并阅读此链接的其余部分
https://github.com/Taritsyn/JavaScriptEngineSwitcher/wiki/How-to-upgrade-applications-to-version-2.X
基本上你会做以下事情:
using 语句以便能够使用扩展方法(如果您选择这种方式)我最终得到了这样的结果:
using JavaScriptEngineSwitcher.Core;
using JavaScriptEngineSwitcher.Msie;
using JavaScriptEngineSwitcher.V8;
....
public class JsEngineSwitcherConfig
{
public static void Configure(JsEngineSwitcher engineSwitcher)
{
engineSwitcher.EngineFactories
.AddMsie(new MsieSettings
{
UseEcmaScript5Polyfill = true,
UseJson2Library = true
})
.AddV8();
engineSwitcher.DefaultEngineName = MsieJsEngine.EngineName;
}
}
【讨论】:
我正在按照说明进行操作,但我的代码现在在 BundleConfig 上中断
var cssTransformer = new StyleTransformer();
在
/configuration/bundleTransformer/less/jsEngine配置元素的name属性中未指定JavaScript 引擎的名称。如果你还没有安装 JavaScript 引擎,那么为了正常工作 此模块的建议安装以下 NuGet 之一 包:* JavaScriptEngineSwitcher.Msie * JavaScriptEngineSwitcher.V8 * JavaScriptEngineSwitcher.ChakraCore
安装包后,需要设置一个 JavaScript 引擎的名称(例如 例如,
MsieJsEngine) 到name的属性/configuration/bundleTransformer/less/jsEngine配置 元素。
【讨论】: