2016-08-23 3 views
0

C# 웹 프로젝트가 있습니다. "Active solution configuration"에 대해 구성 관리자를 열었습니다.Visual Studio 2013에서 잘못된 구성 파일을 사용합니다.

새 창에서 이름 (Dev)을 입력하고 설정을 복사하지 않았습니다. "새 프로젝트 구성 만들기"를 선택했습니다.

내 Web.config를 마우스 오른쪽 버튼으로 클릭하고 "구성 변환 추가"를 선택했습니다. Web.Dev.config가 예상대로 web.config 아래에 들여 쓰기되었습니다.

내 Web.config의 잘못된 데이터베이스 값을 포함합니다 :

<connectionStrings> 
    <add name="PdxContext" connectionString="Data Source=badServer; Initial Catalog=badDB; Integrated Security=true; MultipleActiveResultSets=True" providerName="System.Data.SqlClient" /> 
</connectionStrings> 
내 Web.Dev.config가 부분적으로 유효 DB 값이 포함되어

:

<connectionStrings> 
    <add name="PdxContext" connectionString="Data Source=.\sql2012; Initial Catalog=test; Integrated Security=True" xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/> 
</connectionStrings> 

을 ...하지만 난을 선택하면 Dev 구성과 히트가 실행되면 사이트는 web.dev.config가 아니라 web.config 파일을 사용하여 실행됩니다 ("badServer"호스트의 "badDB"라는 존재하지 않는 데이터베이스에 연결하려고 시도합니다).

web.dev.config를 마우스 오른쪽 단추로 클릭하고 "미리보기 변환"을 선택하면 변환 된 Web.config가 web.dev.config의 connectionStrings 값을 사용할 것으로 올바르게 표시됩니다.

아, 구성 관리자의 "Dev"구성 솔루션 구성 열에 "Dev"가 있습니다.

의견이 있으십니까?

+0

또한 내장 디버그 구성과 동일한 문제가 있습니다. 그것은 Web.Debug.config의 값을 무시합니다. –

+0

아마 배포시에만 작동한다고 생각합니다. 그렇다면 동일한 프로젝트에서 여러 구성을 사용하는 여러 개발자가 함께 작동하는 방식은 무엇입니까? 나는 그들이 web.config의 복사본을 가지고 있어야하고, web.config를 변경 한 SVN 업데이트를 할 때마다 web.config를 복사본으로 덮어 씁니까? 그것은 매우 서투른 것처럼 보인다. –

답변

0

이 솔루션은 여기에서 찾을 수 있습니다 : 당신은 VS의 이후 버전에서이 고민 누군가를 위해 ", 또한 해당 게시물 마티 가격의 답변을 참조 비주얼 스튜디오 2013를 사용하는 경우 https://stackoverflow.com/a/3994081

, 내가 변경했다 < 대상 이름 = "CopyWebTemplateConfig"BeforeTargets = "Build"> < 대상 이름 = "CopyWebTemplateConfig"BeforeTargets = "PrepareForBuild"> 모든 작업이 완료되었습니다. "