2

我正在使用 ReactJS.NET(版本 3.0.0)在 MVC 应用程序中渲染/初始化客户端组件,但是在调用Html.ReactInitJavaScript()辅助方法时,我在运行时收到以下异常:

[TinyIoCResolutionException:无法解析类型:React.IReactEnvironment] React.TinyIoC.TinyIoCContainer.ResolveInternal(TypeRegistration 注册,NamedParameterOverloads 参数,ResolveOptions 选项)+833 React.TinyIoC.TinyIoCContainer.Resolve(类型 resolveType)+60 React.TinyIoC.TinyIoCContainer。 Resolve() +56 React.Web.Mvc.HtmlHelperExtensions.get_Environment() +53

[ReactNotInitialisedException:ReactJS.NET 未正确初始化。] React.Web.Mvc.HtmlHelperExtensions.get_Environment() +107 React.Web.Mvc.HtmlHelperExtensions.ReactInitJavaScript(HtmlHelper htmlHelper, Boolean clientOnly) +141

但是,这仅在IIS Express中不处于调试模式时才会发生。调试或使用本地 IIS 时,我没有收到此错误。

ReactJS.NET 用于WebActivatorEx在 PreApplicationStart 期间进行初始化。WebActivatorEx.PreApplicationStartMethod在 IIS Express 中触发是否存在已知问题/解决方法?

下面是我ReactConfig的以防万一。我没有使用提供的版本,react而是webpack用于转换/捆绑。

[assembly: WebActivatorEx.PreApplicationStartMethod(typeof(ReactConfig), "Configure")]
namespace MyApplication
{
    public static class ReactConfig
    {
        public static void Configure()
        {
            ReactSiteConfiguration.Configuration
                .SetLoadBabel(false)
                .SetLoadReact(false)
                .AddScriptWithoutTransform("~/dist/bundle.server.js");
        }
    }
}

编辑:

FWIW,我尝试替换WebActivatorEx.PreApplicationStartMethodSystem.Web.PreApplicationStartMethodOwinStartup无济于事。

4

0 回答 0