如何部署源代码控制器代码,而不是依赖于MVC3中的bin DLL?

时间:2013-10-18 11:27:28

标签: asp.net-mvc visual-studio-2010 asp.net-mvc-3 visual-studio-2012

测试时我需要部署源控制器文件和相关视图,而不是整个项目dll。然后我希望ASP.NET运行时可以进行JIT编译。

我使用名为Beyond Compare的文件比较工具,确保识别并复制更改的文件。

无论如何,视图都保存在源代码中,但似乎控制器代码应该在DLL中,当我有其他我不想部署的代码时,它会给我带来问题。

我该怎么做?

非常感谢。

1 个答案:

答案 0 :(得分:2)

之前的回答(Can we deploy an asp.net MVC application by copying the source codes (without compiling) like we can do when deploying a WebForm website proj?)不正确。实际上,您可以将控制器代码存放在App_Code文件夹中。您必须确保管理命名空间。例如,如果您遵循App_Code中定义的类的无命名空间的常规约定,则需要在路由配置中显式包含String.Empty命名空间:

        routes.MapRoute(
        name: "Default",
        url: "{controller}/{action}/{id}",
        defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional },
        namespaces: new String[] { String.Empty }
    );