2016-12-09 2 views
0

에이전트 풀에 새 에이전트를 실행하는 TFS 2015 빌드 서버가 있습니다.DBProject TFS 2015 빌드가 외부 참조를 무시합니다.

또한 우리에게는 3 개의 MS SQL 데이터베이스 프로젝트가있는 솔루션이 있습니다. 이 프로젝트 중 하나에는 다른 두 프로젝트에 대한 참조가 있습니다.

내 PC의 Visual Studio 2015에서이 솔루션을 빌드하면 결과 model.xml에 [$ (DBName)] 변수를 통해 참조가있는 모든보기가 포함됩니다.

그러나 TFS에서 빌드를 실행하면 외부 참조가있는 모든 개체가 모델에서 사라져 .dacpac 파일에서 찾을 수 없으므로 결과적으로 배포를 수행 할 수 없습니다.

누군가이 힌트를 통해이 문제를 해결할 수 있습니까?

+0

어떻게 한 프로젝트를 다른 두 프로젝트로 참조합니까? 빌드 정의는 어떻습니까? –

답변

0
  1. 빌드 에이전트 시스템에 로그온하고, TFS의 출력이 구조는 지역 빌드과 동일 여부를 확인하기 위해 구축 확인합니다. 또한 MSBuild 명령 줄을 사용하여 빌드 에이전트 컴퓨터에서 솔루션을 수동으로 빌드하여 어떤 결과를 얻을지 확인하십시오.

  2. 하나의 프로젝트에서 출력 어셈블리를 참조하는 것으로 보입니다. 출력 어셈블리를 참조하는 대신 프로젝트 참조를 만들거나 NuGet 패키지를 만드는 것이 좋습니다.

+0

1. 이미 확인했습니다. 빌드 출력은 실제로 다르다. model.xml은 외부 참조가있는 객체를 포함하지 않는다. 같은 결과를 가진 TFS 빌드 정의에서 Visual Studio 단계 대신 MSBuild 단계를 시도했습니다. 2. 아니요, "데이터베이스 참조 추가 ..."를 통해 데이터베이스를 참조하고 있습니다. –

+0

죄송합니다. 빌드 에이전트 컴퓨터에 로그온하고 MSBuild 명령 줄을 사용하여 솔루션을 빌드하여 동일한 결과를 얻었는지 확인하십시오. –

+0

빌드 머신에서 개발자의 명령 행에서 msbuild를 실행하려고 시도했습니다. 동일한 결과, model.xml에 외부 참조가있는 객체가 없습니다. 내 컴퓨터에서 실행 한 동일한 msbuild 명령이 올바른 model.xml을 생성합니다. –