如果从BundleTransformer的版本1升级到版本2,您可能会收到以下消息:
Could not find a factory,that creates an instance of the JavaScript
engine with nameMsieJsEngine
.
像我一样,你可能甚至没有意识到你升级的不仅仅是一个点发布.
怎么修?
解决方法
版本2不再使用WEB.CONFIG进行配置
https://github.com/Taritsyn/JavaScriptEngineSwitcher/wiki/How-to-upgrade-applications-to-version-2.X
基本上你会做以下事情:
>删除javscript引擎的现有web.config节点
>添加一些像global.asax这样的初始化代码
>为要使用的引擎安装Nuget包
>确保添加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; } }