首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WebActivator.PreApplicationStartMethod不工作

WebActivator.PreApplicationStartMethod不工作
EN

Stack Overflow用户
提问于 2013-01-02 08:12:41
回答 5查看 13K关注 0票数 13
代码语言:javascript
复制
[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));
        }
    }
}

下面是我的代码,它应该在global.asax中的Application_start之前运行。我将我的web项目从MVC3升级到MVC4,所以在这个过程中,我在命名空间上犯了一个错误。在我更正我的命名空间之前,这是有效的。它现在不再有效了。我重置了iis/flushed dns/ rebuilt解决方案/删除了C:\Windows\Microsoft.NET\Framework64\versionxxxxxx...\Temporary ASP.NET files \ .net中的临时根文件。什么都不管用。我是不是漏掉了什么?Initialize()方法包含了我所有的结构图内容、依赖项解析内容。所以,如果不解决这个问题,我就不能继续前进。我花了很多时间来诊断这个问题,我需要帮助。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2013-03-13 23:33:06

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

我浪费了一两个小时才弄明白这一点,所以希望这能帮助其他人避免这种情况!

票数 22
EN

Stack Overflow用户

发布于 2013-05-19 17:45:11

我的经验是,如果您的项目设置(在.csproj.user.vbproj.user中)具有<StartAction>NoStartPage</StartAction>设置,则.csproj.user将无法工作。修复方法是将其设置为<StartAction>CurrentPage</StartAction>,然后在下次调试时它应该可以工作。

此外,由于它位于.user文件(通常不包括在svn中)中,因此很难确定为什么它在某些开发环境中工作,而在其他开发环境中不工作。

票数 2
EN

Stack Overflow用户

发布于 2013-01-04 14:01:17

WebActivator版本1.5.3中,MyClass.cs.pp文件不能仅位于App_Start文件夹中,而必须位于文件夹中,以便nuget install在目标项目的App_Start中创建转换后的文件。

据我所知,这是没有记录的。

注意:只要原始.nupkg是使用传统的文件系统方法使用nuget pack构建的,而当使用以特定.csproj文件为目标的nuget pack时,而不是,这个解决方案就可以工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14115497

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档