测试时我需要部署源控制器文件和相关视图,而不是整个项目dll。然后我希望ASP.NET运行时可以进行JIT编译。
我使用名为Beyond Compare的文件比较工具,确保识别并复制更改的文件。
无论如何,视图都保存在源代码中,但似乎控制器代码应该在DLL中,当我有其他我不想部署的代码时,它会给我带来问题。
我该怎么做?
非常感谢。
答案 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 }
);