2016-08-11 2 views
0

클래스 라이브러리가 있고 빌드 할 때 'public override bool Execute()' 메서드를 실행 중입니다. 메서드 내에서 빌드 할 때 수행 할 논리가 있습니다. 그 방법으로, 'Process.Start("somefile.bat")'으로 라이브러리를 빌드하는 동안 또 다른 프로세스를 시작하고자합니다. 제 질문은 -이 프로세스를 로컬로 구축하려고 할 때 시작해야한다고 지정하고, tfs 서버에서이 프로세스를 빌드 할 때 어떻게해야합니까?코드 부분을 서버에서만 실행하지 않고 로컬에서 실행하는 방법

내가 디버그 대 릴리스 인 경우 #if debug을 추가 할 수 있다는 것을 알고 있습니다. 로컬 대 서버 빌드와 비슷한 것이 있습니까?

답변

3

/p:DefineConstants="SERVERBUILD"을 빌드 정의의 "프로세스"탭에있는 MSBuild 인수에 추가하십시오. 그러면 빌드 프로세스가 로컬인지 또는 서버인지 여부를 #if SERVERBUILD으로 확인할 수 있습니다.

+0

'DEVBUID'에 상수를 사용하고 실수로 서버에 테스트 코드를 배포하지 않도록 서버를 설정하는 것이 좋습니다. 이 속성은 일치하는 속성 그룹의''속성에있는'csproj' 파일에서 설정할 수 있습니다. –

관련 문제