4

내 컴퓨터에서 완벽하게 작동하는 프로젝트가 있지만 Team City에서 빌드하려고 할 때 다음 빌드가 생성됩니다. 내가 가지고있는 소스 파일에 대한 오류Team City에 구축 할 때 'System.Data.Entity'네임 스페이스에 'Validation'이 없습니다.

using System.Data.Entity;  
using System.Data.Entity.Validation; 


CS0234: The type or namespace name 'Validation' does not exist in the namespace 'System.Data.Entity' (are you missing an assembly reference?) 

이 작업을 수행하려면 Team City를 실행하는 서버에 수동으로 Entity Framework를 설치해야합니까? Nuget 복원을 활성화 한 후

업데이트 :

이 구성 문제의 일종해야합니다.

내가 빌드 프로세스가 .DLL 복사되는 빌드 로그에 볼 수 있습니다

[Copy] Copying file from "D:\TeamCity\agent1\work\541c9f462afc285d\packages\EntityFramework.5.0.0\lib\net45\EntityFr amework.dll" to "bin\Release\EntityFramework.dll". 
[16:51:55][Copy] Copying file from "D:\TeamCity\agent1\work\541c9f462afc285d\packages\EntityFramework.5.0.0\lib\net45\EntityFramework.xml" to "bin\Release\EntityFramework.xml". 

그러나 잠시 후, 그것은 다른 위치의 무리를 고려하지만, 릴리스 \ EntityFramework \ 빈 포함되지 않습니다 . .DLL "폴더

업데이트 2 :

, 수동으로 클래스 라이브러리의 bin/해제 폴더에 .DLL가 통과 할 수있는 빌드를 도왔다 복사,하지만 분명히이 더 가능한 솔루션입니다 그래서 위스콘신 올바르게 구성하는 방법을 계속 찾아야합니다.

업데이트 3 :

그래서 어떤 천재, 내가 말할 슬프다 이것에 대한 만족스러운 해결책을 발견했다 절대로이 문제를 해결할 수있는 매우 환영합니다. :)

+2

당신이 NuGet을 통해 EF를 가져올 것이다 빌드 전 작업을 사용하여 시도 유무 : 여기

는 NuGet 설치 단계의 샘플입니다? 이렇게하면 빌드 서버에 EF를 설치할 필요가 없습니다. TeamCity는 빌드를 시도 할 때 가져옵니다. – Shriroop

+0

@Shriroop이 쓴 내용이 두 번째입니다. TeamCity가 .NET Framework (System.Data.Entity.Validation이없는)에 포함 된 이전 Entity Framework를로드하려고합니다. – PermaFrost

+0

의견을 주셔서 감사합니다, 이것을 시도합니다! –

답변

1

오류가 발생하면 어셈블리가 누락되었습니다. 그리고 @Shriroop이 EF packge에 있다고 제안했습니다.

컴파일 단계 전에 Nuget Installer 단계를 추가하십시오. 몇 가지 옵션을 설정해야합니다, 솔루션 이름 경로 및 nuget 2.7 + 및 복원 모드 : 복원 사용하는 것이 좋습니다.

Teamcity에 최신 Nuget 버전을 설치하려면 관리> Nuget 설정> NuGet.exe로 이동하여 최신 버전을 가져옵니다. http://img.hihi.si/Upload/5PUm.png

+0

흠, 빌드 로그에서 EF 패키지가 다운로드되었지만 나중에 빌드 프로세스가 올바른 위치에서 보이지 않는 것으로 보입니다. –

+0

전체 로그를 제공하고 모든 빌드 단계를 설명 할 수 있습니까 –

+1

예, 누락 된 엔티티 프레임 워크 패키지가 저에게 적합합니까? – Demodave

관련 문제