2013-09-06 2 views
3

TeamCity로 WCF RIA + Silverlight 5 앱을 만들 수 없습니다. 문제는 빌드 명령 (csc.exe)에 포함 된 어셈블리 부족입니다. csc.exe 명령의 매개 변수에는 필수 어셈블리가 포함되어 있지 않습니다.TeamCity WCF RIA 빌드 중 어셈블리가 없음

Microsoft.ServiceModel.DomainServices.Hosting.dll 
Microsoft.ServiceModel.DomainServices.Tools.dll 
System.ServiceModel.DomainServices.EntityFramework.dll 
System.ServiceModel.DomainServices.Hosting.dll 
System.ServiceModel.DomainServices.Hosting.OData.dll 
System.ServiceModel.DomainServices.Server.dll 

다른 모든 어셈블리가 제대로 포함되어 있습니다. .csproj 파일에서 언급 된 어셈블리가 제대로 나열됩니다. 파일은 시스템에 적절한 디렉토리에 있습니다.

TeamCity에서 이러한 파일을 포함시키는 방법을 알려줄 사람이 있습니까?

답변

0

이것은 아마도 특정 TeamCity 문제가 아니지만 CI 문제입니다. 푸시/커밋하거나 소스 제어가 지원하는 것을 변경하면 CI 서버에서 변경 사항을 가져옵니다. 그런 다음 최신 코드를 가져 와서 컴파일합니다. 소스 컨트롤에 모든 올바른 어셈블리가 포함되어 있지 않고 NuGet에서 가져 오거나 GAC를 보면 이러한 어셈블리를 찾을 수 없으면 코드가 컴파일되지 않습니다.

이 문제를 해결하려면 다음 세 가지 중 하나를 수행하십시오.

  1. 필요한 어셈블리를 확인하고 로컬 개발 컴퓨터에서 찾은 다음 소스 제어 lib 폴더에 추가하고 솔루션 프로젝트를 변경하여 어셈블리를 참조하십시오. 당신이 NuGet 원하는 어셈블리 Nuget에서 사용할 수 있는지 사용하는 경우
  2. (여기보십시오 https://www.nuget.org/packages/RIAServices.Server/를)

당신의 CI 서버의 GAC에 누락 된 어셈블리를 설치 (및 에이전트를 구축) NuGet을 사용하지 않으면 1이 최선의 선택입니다. CI 서버가 더러워 졌기 때문에 3이 최악의 옵션입니다. CI에 더 많이 설치할수록 더 진해집니다. 여기에서 요점은 CI 서버에 빌드를 컴파일 할 수있는 구성 요소가있는 경우 라이브 서버에 제품을 출시하려고 할 때 누락 된 구성 요소가 있음을 알 수 없습니다.