2011-04-20 4 views
3

나는 이것을 정말로 결코 이해하지 못했다. 구성 설정은 게시를위한 것이지만 디버깅을 위해 사용할 수 있습니까?visual studio 2010 - "release"web.config transform을 사용하여 디버그 하시겠습니까?

의미, 우리 web.config (로컬, 준비 및 프로덕션 환경 및 DB 설정)에 대한 다양한 변환이 있습니다. 로컬로 실행중인 웹 사이트 프로젝트를 디버그 (추적) 할 수 없지만 다른 구성 변환의 구성을 사용하는 이유는 무엇입니까? 이것이 가능한가? 고맙습니다.

답변

4

현재 Web.config 변환은 WPP (Web Publish Pipleline) 중에 만 적용되며 빌드 중에는 적용되지 않습니다. 개발자는 web.config를 사용하여 로컬 요구에 맞출 수 있지만 일관된 구성을 위해 게시 중에 변환이 적용됩니다.

변형을 빌드 할 때 프로젝트를 해킹하는 데 관심이 있으시면 this link을 확인하십시오.

0

'디버그'구성은 변환 된 구성에서 사용할 수 없다고 생각합니다. 디버깅을 사용하려면 변환 된 구성이 아닌 디버그 구성 연결을 사용하도록 설정해야합니다.

동일한 문제가 있고 구성이 Debug 일 때만 디버깅 할 수 있으며 여러 유형의 변환 된 구성 파일이 있어도 릴리스하지 않습니다.

두 가지 다른 유형의 컴파일입니다. 릴리스에는 Debug보다 applciation으로 컴파일 된 매우 다른 정보가 있습니다. 따라서 Release로 컴파일 할 때 디버그 정보가 존재하지 않습니다. 릴리스 구성을 첨부하고 디버그 할 수있게하려면 디버그 컴파일에 연결해야합니다.

http://weblogs.asp.net/scottgu/archive/2006/04/11/442448.aspx

0

그런 다음 # 만약 디버그로 특정 설정을 변경 .... :

컴파일 '디버그'대 '릴리스'의 차이점을 많이 설명 스콧 구에서이 게시물을 참조 내 Web.config의 내 응용 프로그램의 생산 및 testdatabase을 액세서하기를 ConnectionString을 포함 예를 들어

은 ConnectionString을 diffrent을 액세서에 다음 행이 시작

#If DEBUG Then 
       constring = ConfigurationManager.ConnectionStrings("aniptestContainer").ConnectionString 
#Else 
       constring = ConfigurationManager.ConnectionStrings("anipproductionContainer").ConnectionString 
#End If 
+2

여러 개의 web.configs/transforms가 필요한 이유는이 작업을 수행하지 못하도록 방지하는 것입니다. '# If'는 90s이기 때문에 :) – Kelsey

+0

나에게 여전히 유용하다. :) – David