2013-05-01 8 views
30

내 빌드 용으로 선택한 구성과 관련된 web.config 변환을 TFS Build에서 만들려고합니다. 빌드를 실행할 때 web.config 파일을 확인합니다. 변환은 적용되지 않았습니다. VS2012에서 게시 할 때 변환이 올바르게 작동합니다.TFS 2012 및 web.config 변형

TFS 2012 (업데이트 2)를 설치했고 빌드 용으로 별도의 서버를 가지고 있습니다. 빌드 서버에 VS2012가 설치되어 있지 않지만 C : \ Program Files (x86) \ MSBuild \ Microsoft \ VisualStudio \ v11.0 \ Web 및 WebApplications 폴더와 파일을 내 dev 컴퓨터에서 빌드 서버로 복사했습니다.

프로젝트에서 일부 구성을 만들었으며 관련 웹 ({configname} .config)에 일부 변환을 추가했습니다.

빌드를 생성하고 빌드 할 구성 - 구성을 내 프로젝트의 구성 중 하나로 설정했습니다. 디버그와 릴리스 만 있다는 것을 알았습니다. 내가 만든 구성이 없었습니다. (측면 질문 : 정확합니까, 아니면 내가 만든 모든 구성을 보여야합니까?)

그래서 빌드를 실행하고 출력 폴더를 확인하고 web.config가 변환을 적용하지 않았습니다. 내가해야 할 일이 더 있니?

답변

2

"작성할 항목 -> 구성 할 구성"목록에서 구성 이름을 입력 할 수 있습니다. 이 방법으로 문제가 해결되지 않으면

, MSBuild를 인수 다음을 추가하려고 :/P : 사실 TransformConfigFiles = (3. 고급 -> MSBuild를 인수)를

37

그냥 던지는/P : TransformConfigFiles이 = 사실 거기는하지 않습니다 실제로 무엇이든합니다. http://blog.degree.no/2012/03/automatic-config-transformations/

+0

작품을 MSBuild를 int로! 그리고 여기에있는 코드 샘플은 그 블로그 포스트에서 오타를 수정하기도합니다 (두 곳에서 \ out을 남깁니다). – Abacus

+1

빌드하는 동안 해당 줄을 csproj 파일에 추가 한 후 오류가 발생했습니다 : ' "TransformXml"작업을 찾을 수 없습니다. " 누군가가 동일 할 경우 Vitalii

+0

위대한,이 나를 위해 일했다 (VS2015, TFS2015)! 많은 감사! 그러나 빌드 구성을 지정하는 것만으로는 충분하지 않다는 것이 매우 이상합니다. MS는 때때로 이상한 구현을 만듭니다 ... – Vladislav

1

마우스 오른쪽 단추로, 속성으로 이동, 솔루션 파일을 클릭하여 구성 속성을 클릭하고 클릭 구성 : 이것은 내 소스

<Target Name="TransformConfigFiles" AfterTargets="AfterBuild" Condition="'$(TransformConfigFiles)'=='true'"> 
    <ItemGroup> 
     <DeleteAfterBuild Include="$(WebProjectOutputDir)\Web.*.config" /> 
    </ItemGroup> 
    <TransformXml Source="Web.config" Transform="$(ProjectConfigTransformFileName)" Destination="$(WebProjectOutputDir)\Web.config" /> 
    <Delete Files="@(DeleteAfterBuild)" /> 
</Target> 

:

또한 프로젝트 파일이 대상을 추가 할 필요가 맨 위에있는 관리자. 다른 환경에 대한 구성이 올바르게 설정되었는지 확인하십시오. 설정이 제대로되어 있지 않으면 제대로 설정하고 코드를 체크인하십시오. 이제 빌드 템플릿으로 이동하여 프로세스 탭에서 속성을 빌드하도록 구성을 확인하십시오. 다른 구성을 볼 수 있어야합니다. 구성이 이미 올바르게 설정된 경우 빌드 특성에 새 구성 이름을 입력하여 추가 할 수도 있습니다.

참고 : web.config 변형 파일을 마우스 오른쪽 단추로 클릭하고 미리보기 변형을 선택하고 변환 구성이 올바르게 작동하는지 확인할 수도 있습니다. 올바르게 작동하는지 당신은 또한 제작 프로파일 이름을 지정할 수 있습니다

, 그는 나를 위해 인수 섹션

/p:DebugSymbols=false;DebugType=None;DeployOnBuild=true;PublishProfile=Stage