在IIS上正确设置WebSite / Web应用程序部署

时间:2013-11-20 20:30:13

标签: asp.net .net asp.net-mvc deployment iis-7.5

我继承了一个项目,目前正在从一些旧的ASP.NET技术(ASP,.NET 2 WebForms等的混合体)迁移到MVC,.NET 4.相当一点的网站移了过来,很棒。此时,MVC站点将采用完整的前端和中心,旧站点页面可从站点内的链接获得。

我试图设置它的方法是让新的MVC代码成为网站(例如,默认Web应用程序),并将各种较旧的项目作为该网站下的Web应用程序。

第一部分已部署并正常运行 - MVC网站运行良好。但是,我对旧页面有些困难。例如,我在网站下面设置一个Web应用程序,使用路径GenerateReports并指向相应的目录(C:/ OldProjects / GenerateReports /)。当我浏览网站的该部分(http://www.example.com/GenerateReports/BrowseReports.aspx)时,收到错误消息:

  

配置错误说明:期间发生错误   处理为请求提供服务所需的配置文件。   请查看下面的具体错误详情并修改您的   配置文件适当。

     

[ - 剪断 - ]

     

< compilation debug =“true”targetFramework =“4.0”> ...

奇怪的是 - 该行是在我的MVC的Web.config(使用.NET 4.0构建)中 - 而不是在较旧的Web应用程序的web.config(即.NET 2.0)中。那就是我将旧的Web应用程序的AppPool设置为.NET 2.0。

如果我将AppPool设置为.NET 4.0(对于较旧的Web应用程序),则会收到此错误:

  

提供程序选项中“compilerVersion”属性的值   如果您正在为4.0或更高版本进行编译,则必须为'v4.0'或更高版本   的.NET Framework。 [-snip - ]

第一个问题似乎“更接近正确”,但我在谷歌上找不到真正描述问题的东西,更重要的是,如何修复它。我将不胜感激任何帮助。

1 个答案:

答案 0 :(得分:0)

好。我想我想出来了......

我设置了服务器,以便该站点是MVC站点。该MVC站点内的所有内容都能正常工作/启动,因此这是成功的。

然后我开始在网站下添加Web应用程序,每个应用程序都是ASP,WebForms应用程序之一。我不得不做一些配置 - 具体来说,我必须使用Scott Hanselman's blog on mixing child applications上的信息 - 来防止设置“滴入”到Web应用程序中。

最后,对于经典的ASP页面(其中还有一些),我必须为这些位置提供虚拟文件夹(同样,在网站下面),我必须在我的服务器上启用ASP( not 已经为其他所有内容启用的ASP.NET。我还必须在顶级站点的ASP设置中启用父路径,以便ASP页面正常工作。当然,我将努力将其余的ASP页面转换为MVC ASAP,然后我可以完全删除对它的支持。

希望这有助于其他人!