如何使用配置转换删除 web.config 中的模块

Pet*_*ner 2 asp.net web-config web.config-transform

我的 web.config 的一部分如下所示:

<system.webServer>
  <modules runAllManagedModulesForAllRequests="true">
    <remove name="WebDAVModule" />
    <add name="ImageResizingModule" type="ImageResizer.InterceptModule" />
    <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" preCondition="managedHandler" />
    <add name="Prerender" type="Prerender.io.PrerenderModule, Prerender.io, Version=1.0.0.2, Culture=neutral, PublicKeyToken=null" />
</modules>
Run Code Online (Sandbox Code Playgroud)

我想摆脱这条线

我已经尝试过了,但它摆脱了除 WebDav 之外的所有内容

<system.webServer>
<rewrite xdt:Transform="Replace">
  <rules>
  </rules>
</rewrite>
<modules runAllManagedModulesForAllRequests="true">
  <add name="Prerender" type="Prerender.io.PrerenderModule, Prerender.io, Version=1.0.0.2, Culture=neutral, PublicKeyToken=null" 
       xdt:Transform="RemoveAll" />
</modules
Run Code Online (Sandbox Code Playgroud)

hut*_*oid 5

xdt:Transform="Remove"您可以使用和的组合,xdt:Locator="Match(name)"如下所示:

<system.webServer>
    <modules runAllManagedModulesForAllRequests="true">
      <remove name="WebDAVModule" />
      <add name="ImageResizingModule" type="ImageResizer.InterceptModule" xdt:Transform="Remove" xdt:Locator="Match(name)" />
      <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" preCondition="managedHandler" />
      <add name="Prerender" type="Prerender.io.PrerenderModule, Prerender.io, Version=1.0.0.2, Culture=neutral, PublicKeyToken=null" />
    </modules>
  </system.webServer>
Run Code Online (Sandbox Code Playgroud)

在这种情况下,上面将删除按名称匹配的模块ImageResizingModule

预览的屏幕截图

预览的屏幕截图