2012.07.19 20:48

console 모드에서는 msbuild로 sln 파일 빌드 잘 되는데.. 


당췌 ... cruiseControl하면 빌드 중에 왜 링크에러가 나는거야. ㅠ_ㅜ 미치것네.


일단 지금까지의 정리.


빌드 PC는 windows7 pro K , 64bit , vs9 sp1 , 프로젝트는 32bit 결과물로 만듬.


<msbuild만을 사용할 경우>

 ccnet.config에 executable에 c:\windows\microsoft.net\framework\v2.0.50727\msbuild.exe 세팅하고 빌드하면 아래와 같은 에러가 발생한다.

 "error MSB5014: 파일 형식 버전을 인식할 수 없습니다. MSBuild는 7.0버전에서 9.0버전까지의 솔루션 파일만 읽을 수 있습니다."


혹시나 해서 framework64로 지정해도 같은 에러. (당연하지만... -0-)


이 경우 msbuild.exe가 PC 환경에 맞는 녀석이 아니라는 생각이 듬. 그래서 batch 화일을 이용해서 PC에 알맞은 msbuild.exe를 다시 찾아야 할 듯 하여 아래와 같은 내용으로 변경해 봄.


<batch file을 활용한 msbuild 활용>

 ccnet.config에 executable에 make.cmd를 걸고 make.cmd를 아래와 같이 처리했다.

 call "%VS90COMNTOOLS%"vavars32.bat > deleteme.txt

 call msbuild.exe %*

 어.. 되네? 알고보니.. 인터넷에서 검색해본 모든 예제들이 framework\v2.0.50727로 되어 있었는데.. 3.5버전 안에 있는 msbuild로 해보니 같은 결과가.. 나옴.. 


 일단 이까지.. 되긴 되는데.. sln에 세팅해둔 경로 처리에 문제가 발생하네. 


 아마도 vsi에 설정한 경로가 적용되지 않는 듯. 


project 파일 자체에 모든 경로를 넣어야 할 듯 하네. --; 그럼 로컬 경로를 지정해야 되는 문제가 발생할텐데.. 일단 project에 경로 다 넣어보고 결정해야 할 듯.


근데 왜 콘솔에서 빌드하면 잘 되지??? 뭔가 방법이 있을 듯 한데.. 



=> 환경변수 문제임. 





저작자 표시 비영리 동일 조건 변경 허락
신고