Iis 7 如何在web.config中包含IIS模块的配置,而不破坏不使用';我没有安装模块

Iis 7 如何在web.config中包含IIS模块的配置,而不破坏不使用';我没有安装模块,iis-7,web-config,iis-7.5,Iis 7,Web Config,Iis 7.5,我想在我的应用程序的web.config文件中包括IIS 7.5的配置(中的元素) 当安装模块时,这可以正常工作,但是如果我想在没有安装模块的情况下将应用程序部署到服务器(例如IIS Express),我会得到 HTTP错误500.19-内部服务器 错误 无法删除请求的页面 因为相关的 页面的配置数据为 无效 这能做到吗?是否有设置使IIS忽略它无法识别的中的额外元素 谢谢如果您使用的是Visual Studio 2010,那么您可以使用web.config转换功能。使用转换,您可以结合网站“发

我想在我的应用程序的web.config文件中包括IIS 7.5的配置(
中的
元素)

当安装模块时,这可以正常工作,但是如果我想在没有安装模块的情况下将应用程序部署到服务器(例如IIS Express),我会得到

HTTP错误500.19-内部服务器 错误
无法删除请求的页面 因为相关的 页面的配置数据为 无效

这能做到吗?是否有设置使IIS忽略它无法识别的
中的额外元素


谢谢

如果您使用的是Visual Studio 2010,那么您可以使用
web.config
转换功能。使用转换,您可以结合网站“发布”工具,转换
web.config
,并根据您是在进行调试还是发布构建来添加/删除设置

有关更多信息,请参阅:


Scott Hanselman对此功能有一个很好的演示:

这适用于ASP.NET 2.0和4.0

如果您仍然使用VisualStudio2008,那么仍然可以实现这一点

首先是使用暴力方法并维护多个
web.config
文件。在VS中构建项目时,在正确的
web.config
文件中使用预构建的事件交换。我以前使用过这种技术,但Scott Hanselman(一如既往)有一个很好的例子:


如果直接使用,则可以使用生成任务修改
web.config
文件。中提供了一个扩展库,该扩展库为MSBuild提供了其他扩展,使这些任务更容易执行。
XmlMassUpdate
任务可能就是您想要使用的任务。老实说,我承认目前我只是触及了MSBuild的表面,还没有真正尝试过这一点,但是(我的意思并不是说这一点)谷歌搜索XmlMassUpdate会返回大量有用的点击量。

总是想知道为什么类似的东西还没有成为工具的一部分。很高兴知道。然而,我们在VS2008上,尚未移动:-(