如果您从 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();
在配置元素的
name
属性中/configuration/bundleTransformer/less/jsEngine
未指定 JavaScript 引擎的名称。如果您尚未安装 JavaScript 引擎,那么为了使该模块正常工作,建议安装以下 NuGet 包之一: * JavaScriptEngineSwitcher.Msie * JavaScriptEngineSwitcher.V8 * JavaScriptEngineSwitcher.ChakraCore
安装包后,需要为配置元素的属性 设置一个 JavaScript 引擎的名称(例如,
MsieJsEngine
) 。name
/configuration/bundleTransformer/less/jsEngine