BundleTransformer少抱怨"无法找到工厂,创建JavaScript引擎的实例"

Sim*_*ver 7 asp.net bundletransformer

如果从BundleTransformer的版本1升级到版本2,您可能会收到以下消息:

找不到工厂,它用名称创建JavaScript引擎的实例MsieJsEngine.

像我一样,你可能甚至没有意识到你升级的不仅仅是一个点发布.

怎么修?

Sim*_*ver 13

版本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;
        }
   }
Run Code Online (Sandbox Code Playgroud)