문제

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를 실행해 보셨습니까?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top