我们从MVC 2预览1迁移到MVC 2预览2到使用多项目区域。一切都在本地开发机器(Visual Studio 2008 SP1 / IIS 7)上完美运行,但是,在将其发布到服务器(Windows Server 2003 / IIS 6)后,它无法正常工作。
部署是通过VS2008菜单中的Build-> Publish选项完成的。 我还在IIS中添加了通配符映射。
IIS服务器在过去是MVC 2预览1项目时运行正常。
似乎应该以不同的方式配置IIS以处理多区域MVC路由?
还有一个观察结果,主要区域中的views \ areas \ *。*目录在部署期间不会复制到IIS服务器。
是否有人成功部署并配置了IIS 6的多项目区域解决方案?
更新:我们需要添加另一行到 WebResource.axd
的Web.config<httpHandlers>
<remove verb="*" path="*.asmx" />
<add path="WebResource.axd" verb="GET" validate="True" />
…
</httpHandlers>
您可以在这里阅读: http://forums.asp.net/t/1483430.aspx
答案 0 :(得分:3)
Visual Studio的部署功能不知道区域构建任务复制的隐藏文件,因为它们未添加到主区域的VS项目中。
不再支持ASP.NET MVC 2的多项目区域功能,并已移至“MVC Futures”项目。它由于多种原因而不受支持,包括您特别关注的问题。
在ASP.NET MVC 2 Beta中,我们添加了对单项目区域的支持,在这些区域中,您可以在名为“Areas / Admin”,“Areas / Shop”等文件夹中包含区域。通过右键单击项目并选择“添加区域”菜单选项,还可以为VS提供支持。