我刚刚使用首先部署在Windows Azure上的EF4代码在MVC3中创建了一个新项目。 我想保持我的“web.config”文件尽可能干净,因为理解它包含的所有标签有点复杂。
我注意到两个部分:<system.web>
和<system.webServer>
第一个用于IIS6,第二个用于IIS7 + 我不需要向后兼容,所以想删除第一个。
我将第一部分很好地转换为第二部分,但我找不到如何转换这些部分:
<system.web>
<authentication mode="None" />
<compilation debug="true" targetFramework="4.0">
<assemblies>
<add assembly="System.Web.Helpers, Version=2.0.0.0, Culture=neutral />
<add assembly="System.Web.Mvc, Version=4.0.0.0, Culture=neutral />
<add assembly="System.Web.WebPages, Version=2.0.0.0, Culture=neutral />
<add assembly="Microsoft.IdentityModel, Version=3.5.0.0, Culture=neutral />
</assemblies>
</compilation>
<pages validateRequest="false">
<namespaces>
<add namespace="System.Web.Helpers" />
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Routing" />
<add namespace="System.Web.WebPages" />
</namespaces>
</pages>
</system.web>
如何执行此操作以便删除已弃用的<system.web>?
答案 0 :(得分:2)
并非所有元素都已弃用。最重要的两个部分是/system.web/httpHandlers,它已移至/system.webServer/handlers和/system.web/httpModules,现在是/system.webServer/modules。您不需要再进一步触摸上面的配置,因为即使在IIS7中,其中的元素仍然是system.web元素的一部分。您是否尝试在更改后运行您的网站?