2016-12-23 14 views
0

NuGet에서 사용하기 전에 this 사이트를 사용하여 XDT 변환을 테스트하고 있습니다. 내가이 설정을XDT 변환은 잘못된 항목을 제거합니다.

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <system.web> 
    <httpModules> 
     <add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web" /> 
     <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" /> 
     <add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" /> 
    </httpModules> 
    </system.web> 
</configuration> 

을 사용하면이 변환 :

<?xml version="1.0" encoding="utf-8" ?> 
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"> 
    <system.web> 
    <httpModules> 
     <add name="ErrorLog" xdt:Transform="Remove" />  
    </httpModules> 
    </system.web> 
</configuration> 

결과입니다이 출력 :

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <system.web> 
    <httpModules> 

     <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" /> 
     <add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" /> 
    </httpModules> 
    </system.web> 
</configuration> 

엔트리 ApplicationInsightsWebTracking는 오류 로그 제거되지 않는 이유 이해가 안가 . NuGet 패키지 (패키지 제거시)에서이 변환을 사용할 때도 동일한 결과가 나타납니다. 작동중인 변환을 변경하는 방법은 무엇입니까?

답변

1
당신은 그 밖에는 요소의 위치/경로 (첫 번째 add 요소가 초기에 제거있어 그 이유는) 일치하는 것으로 간주됩니다 명시 적으로 xdt:Locator="Match()"를 사용하여뿐만 아니라 속성 name에 의해 일치 XDT 말할 필요

:

<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"> 
    <system.web> 
    <httpModules> 
     <add name="ErrorLog" xdt:Locator="Match(name)" xdt:Transform="Remove" />  
    </httpModules> 
    </system.web> 
</configuration>