2013-04-24 2 views
3

다른 모든 패키지 파일과 함께 App.SetParameters.xml 파일을 생성하는 Web Deploy Package가 있습니다. SetParameters 파일에는 연결 문자열을 업데이트하기로되어있는 여러 setParameter 노드가 있지만 웹 배포 스크립트를 실행할 때마다 항상 0 parameters changed이보고됩니다. 배포 된 Web.config 파일을 보면 실제로 업데이트되지 않았 음을 알 수 있습니다.웹 배포에서 setParameter 태그를 무시하는 이유는 무엇입니까?

배포 스크립트의 자세한 출력은 내 매개 변수를 건너 뛰는 이유에 대해 아무 것도 말하지 않습니다. 결코 그들을 언급하지 않습니다. 나는 parameter 태그에 setParameter 태그 중 하나를 변경하는 경우 그러나, 그것은 나에게 오류를 제공합니다

Error: The parameter 'ConnectionString-Web.config Connection String' has already been defined.

를 그래서 분명히 내의 Web.config에서 해당 매개 변수를 찾는 것입니다. 나는 왜 이런 매개 변수를 건너 뛰는 지 완전히 혼란 스럽다.

환경 :

  • 비주얼 스튜디오 2012
  • 웹 배포 3.0
  • 윈도우 서버 2008 R2
  • 7

답변

1

이 문제는 this question에서 제기 된 문제와 관련 된 IIS. 이것은의 Web.config 질식 변환 비주얼 스튜디오 2012에서 사용하는 XPath를 야기

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

: 나는 비주얼 스튜디오 2012 내의 Web.config 파일의 모든 비주얼 스튜디오 2010에서이 솔루션을 이동하기 때문에 여전히 루트 노드로이 있었다 오류 및 결과 : 웹 배포 패키지를 실행하지 않을 경우 웹 배포 그냥 업데이트 할 구성 섹션이 없었다 생각, 그래서, 웹 배포 패키지를 만들 때

No element in the source document matches '/configuration' 

그러나이 오류는 나타납니다. Web.config 파일의 구성 섹션이 최소한 사용자에게 경고 할만한 가치가있는 문제는 아니지만 분명히 그렇지 않을 것이라고 생각할 것입니다.

해결책은 기본 Web.config 파일의 <configuration> 노드에서 xmlns 특성을 제거하고 Visual Studio에서 패키지를 게시 한 다음 '원본 문서의 요소 없음'경고가 출력에 나타나지 않는지 확인하는 것입니다 더 이상. 그 후에 Web Deploy는 귀하의 setParameter 지침을 준수하는 데 아무런 문제가 없어야합니다.

관련 문제