WebActivator.PreApplicationStartMethod不起作用

Man*_*pal 12 c# structuremap asp.net-mvc-4

[assembly:  WebActivator.PreApplicationStartMethod(typeof(MyApp.App_Start.StructureMapMvc), "Start")]

namespace MyApp.App_Start
{
    public static class StructureMapMvc
    {
        public static void Start()
        {
            var container = IoC.Initialize();
            DependencyResolver.SetResolver(new SmDependencyResolver(container));
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我的代码应该在global.asax中的Application_start之前运行.我正在将我的web项目从mvc 3升级到mvc 4.所以,在那个过程中,我在命名空间中犯了一个错误.这在我更正我的命名空间之前有效.它现在不再有用了.我重置了iis/flushed dns/rebuilt solution /删除了C:\ Windows\Microsoft.NET\Framework64\versionxxxxxx ...\Temporary ASP.NET Files\root中的临时.net文件.没有任何效果.我错过了什么吗?Initialize()方法具有我的所有结构映射东西依赖解析的东西.所以,如果不把它搞清楚,我就无法前进.试图诊断问题这么多个小时,我需要帮助.

ken*_*ada 22

如果您的代码位于Web站点项目中(即,在App_Code文件夹下),则无法使用PreApplicationStartupMethod!您可以改用PostApplicationStartupMethod."Pre"方法在global.asax*Application_Start*运行之前执行,而"Post"执行之后.

在我弄清楚之前,我浪费了一两个小时,所以希望这会帮助其他人避免这种情况!