在测试时,我需要部署源控制器文件和相关视图,而不是整个项目的 dll。然后,我希望 ASP.NET 运行时能够进行 JIT 编译。
我确实使用了一个名为 Beyond Compare 的文件比较工具,它可以确保识别并复制更改的文件。
无论如何,视图都保留在源代码中,但似乎控制器代码应该在 DLL 中,当我有其他不想部署的代码时,这会给我带来问题。
我怎样才能做到这一点 ?
非常感谢。
在测试时,我需要部署源控制器文件和相关视图,而不是整个项目的 dll。然后,我希望 ASP.NET 运行时能够进行 JIT 编译。
我确实使用了一个名为 Beyond Compare 的文件比较工具,它可以确保识别并复制更改的文件。
无论如何,视图都保留在源代码中,但似乎控制器代码应该在 DLL 中,当我有其他不想部署的代码时,这会给我带来问题。
我怎样才能做到这一点 ?
非常感谢。
之前的答案(我们可以像部署 WebForm 网站项目时那样通过复制源代码(无需编译)来部署 asp.net MVC 应用程序吗?)是不正确的。事实上,您可以将控制器代码放在 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 }
);