2015-01-08 9 views
5

일부 값을 수정하기 위해 web.config 변환을 설정하려고합니다. I는 낙 배포 주어진이 예를 사용하고 :Web.Config 변환 값이 변경되지 않습니다.

http://docs.octopusdeploy.com/display/OD/Configuration+files

초 슬림화의 Web.config 버전 다운 :

<?xml version="1.0" ?> 
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0"> 
    <system.web> 
    <compilation debug="true" targetFramework="4.0"> 
    </compilation> 
    </system.web> 
</configuration> 

가 변환 :

<?xml version="1.0" ?> 
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"> 
    <system.web> 
    <compilation xdt:Transform="RemoveAttributes(debug)" /> 
    </system.web> 
</configuration> 

출력 :

<?xml version="1.0"?> 
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0"> 
    <system.web> 
    <compilation debug="true" targetFramework="4.0"> 
    </compilation> 
    </system.web> 
</configuration> 
당신이 아무것도하지 않는 볼 수 https://webconfigtransformationtester.apphb.com/

:

나는 변화를 미리 볼이 도구를 사용하고 있습니다. 나는 많은 예제를 보았지만 분명히 뭔가를 놓치고있다. 어떤 도움이라도 대단히 감사하겠습니다. Web.config의에 대한 언급 온라인 미리보기 도구에 의도 한대로

<?xml version="1.0"?> 
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"> 
    <system.web> 
     <compilation debug="false" xdt:Transform="Replace"> 
     </compilation > 
    </system.web> 
</configuration> 
+3

있습니까? 'xmlns = "http://schemas.microsoft.com/.NetConfiguration/v2.0"'에서'xmlns : xdt = "http://schemas.microsoft.com/.NetConfiguration/v2.0으로 변경하면 "'debug' 속성은 출력에서 ​​제거됩니다. –

+0

Matthias, 고맙습니다. 저는 약 10 개의 다른 리소스를 살펴 보았습니다. 그 중 아무도 제가해야만한다고 언급하지 않았습니다. 나는 그걸로 제출하고 싶다면 답으로 표시 할 것입니다. –

+0

정말 실망한 점은 Visual Studio를 사용하여 변환 파일을 자동으로 생성한다는 것입니다. 변환에 필요한 경우 원래 web.config에 해당 부분을 추가하는 것이 현명하다고 생각할 수 있습니다. –

답변

3

작품을 변환 당신의 Web.config의 네임 스페이스를 변경할 때 https://webconfigtransformationtester.apphb.com/를 변환 :

는 (나는 또한 행운과 함께이 시도했습니다)

<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0"> 

<configuration xmlns:xdt="http://schemas.microsoft.com/.NetConfiguration/v2.0"> 

에 ㅁ에서 파일 이 도중에

<?xml version="1.0" ?> 
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"> 
    <system.web> 
    <compilation xdt:Transform="RemoveAttributes(debug)" /> 
    </system.web> 
</configuration> 

debug 특성 결과로부터 제거

<?xml version="1.0" ?> 
<configuration xmlns:xdt="http://schemas.microsoft.com/.NetConfiguration/v2.0"> 
    <system.web> 
    <compilation debug="true" targetFramework="4.0"> 
    </compilation> 
    </system.web> 
</configuration> 

조정하여 Web.config에인가 변형 : 주석에서 설명한 바와 같이 :

<?xml version="1.0"?> 
<configuration xmlns:xdt="http://schemas.microsoft.com/.NetConfiguration/v2.0"> 
    <system.web> 
    <compilation targetFramework="4.0"> 
    </compilation> 
    </system.web> 
</configuration> 

업데이트 web.config 파일의 구성에는 네임 스페이스가 없어야합니다. 대신, 변환 파일이 수입

<xdt:Import assembly="AppHarbor.TransformTester" 
      namespace="AppHarbor.TransformTester.Transforms"/> 

를 추가하는 것이 필요 (적어도, 언급 된 온라인 변환 테스터로 테스트 할 때) : 사용자가 입력 XML의 네임 스페이스에 대해 확실

<?xml version="1.0"?> 
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"> 
<xdt:Import assembly="AppHarbor.TransformTester" 
    namespace="AppHarbor.TransformTester.Transforms"/> 
    <system.web> 
    <compilation xdt:Transform="RemoveAttributes(debug)" /> 
    </system.web> 
</configuration> 
+0

사실, 네임 스페이스 선언 전체는 web.config의''요소에서 제거되어야합니다. 'configuration'은 네임 스페이스에 없습니다. –

+0

@JohnSaunders 정보를 주셔서 감사합니다, 그냥이 정보는 여기에 발견 : http://msdn.microsoft.com/en-us/library/ee248644%28v=vs.100%29.aspx (설정에 적용되는지 모르겠다. 여기에 사용). 대답은 여기에 언급 된 예제를 기반으로 주어졌습니다. http://msdn.microsoft.com/en-us/library/dd465326.aspx –

+0

예제를 잘못 읽었습니다. 해당 페이지의 모든 예제는 _ 변환 파일 _이며 web.config 파일은 아닙니다. –