cruisecontrol.net 및 nant 빌드 문제
-
03-07-2019 - |
문제
CruiseControl.net 서버를 처음으로 구성하고 있습니다. 우리 팀은 이미 Nant 빌드 스크립트를 사용하므로 스크립트에서 서버를 가리키고 Nant가 모든 작업을 수행하도록합니다.
보시다시피, 그것은 매우 간단합니다.
<project name="ChannelIP">
<tasks>
<nant>
<executable>C:\Program Files\nant-0.86-beta1\bin\nant.exe</executable>
<baseDirectory>D:\mypath</baseDirectory>
<buildFile>D:\mypath\myNAnt.build</buildFile>
<targetList>
<target>build</target>
</targetList>
</nant>
</tasks>
</project>
문제는 CC에서 실행할 때 다음과 같은 오류가 발생한다는 것입니다.
기능 호출이 실패했습니다. 표현 : $ {framework :: get-framework-directory ( 'net-3.5')}/msbuild.exe
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Microsoft .NET Framework 3.5 (NET-3.5)가 설치되지 않았거나 올바르게 구성되지 않았습니다. 객체 참조 객체의 인스턴스로 설정되지 않습니다.
실제로 $ {framework :: get-framework-directory ( 'net-3.5')} 변수를 사용하여 msbuild.exe로 경로를 가져옵니다. 그러나이 코드는 전에는 실패한 적이 없습니다. CC가 실행 중이며 Nant 빌드 파일을 직접 실행하는 사용자 계정을 사용하여 서버로 RDP를 할 수 있으며 잘 작동합니다.
CC가 실행할 때이 미세 파일이 실패하는 이유는 무엇입니까?
Note -CC는 일반적으로 빌드 스크립트를 실행하는 것과 동일한 기계에서 실행 중입니다.
해결책
이것은 넌트 문제처럼 들린다. 어떤 버전의 Nant를 사용하고 있습니까?
또한, 당신은 본 적이 있습니다 .NET 3.5의 경우 0.86 베타 1을 사용합니다? 그 남자는 Nant가 던진 같은 오류 메시지를 가지고 있습니다. 제안 된 솔루션은 최신 야간 빌드를 사용하는 것이 었습니다.
다른 팁
CC 서비스는 아마도 적절한 권한이있는 계정에 따라 실행되지 않을 것입니다. 동일한 문제가 있는지 확인하기 위해 명령 줄 (사용자로 기록 된 사용자로 실행)을 사용하여 CC를 실행해 보셨습니까?