2014-03-25 2 views
1

TFS 빌드 서버에서 때때로 동일한 오류가 발생하여 빌드가 실패합니다.TFS .targets 파일이 간헐적으로 누락되었습니다.

나는 우리의 프로젝트 중 하나 (오류가 WebApi 프로젝트를 의미)에이 메시지를 받고 있어요

:

가져온 프로젝트 "C : \ 프로그램 파일 (86) \ MSBuild에서 12.0 \ 빈 \ \ Microsoft.CompactFramework.CSharp.targets "은 (는) 입니다. 선언의 경로가 이고 파일이 디스크에 있는지 확인하십시오.

그리고 (스마트 장치 프로젝트) 다른 프로젝트에이 하나

가져온 프로젝트 "C : \ 프로그램 파일 (86) \ MSBuild를 \ 마이크로 소프트 \으로 VisualStudio \ v12.0 \ WebApplications \ Microsoft.WebApplication.targets " 찾을 수 없습니다. 선언의 경로가 이고 파일이 디스크에 있는지 확인하십시오.

일반적으로 이는 파일이 존재하지 않으며 대상 파일이 포함 된 도구를 설치하거나 개발자 컴퓨터에서 수동으로 복사해야 함을 의미합니다. 나는 그 상황에서 전에 그것을 보았고 사소한 문제이므로 쉽게 풀었다.

문제는 파일이 인 것입니다.! 빌드가 무작위로 실패하는 것처럼 보입니다. 이는 나에게 매우 불명확합니다. '재시도 빌드'를 선택하면 빌드가 정상적으로 진행됩니다. 빌드가 처음에는 제대로 작동하는 경우가 있으며이 오류가 표시되기 시작합니다. 나는 언제 어떤 패턴을 발견하지 못했습니다.

파일 자체에는 특별한 것이 없습니다. 어떻게 든 일부 권한이 누락되었다고 생각했지만 다른 첨부 파일과 동일한 보안 설정이 있습니다.

나는 무엇을 조사해야할지 전혀 모릅니다. 메시지는 파일이 누락되었지만 파일이 있음을 나타냅니다. 간헐적으로 발생한다는 사실은 훨씬 더 문제가됩니다.

이것은 TFS 2013 빌드 머신에서 발생합니다. TFS를 설치 한 후 Visual Studio 2013 Ultimate이 설치되었습니다. 우리는 TFS2012를 사용하는 회사에서 또 다른 빌드 VM을 사용하고 있습니다. 그런 이상한 행동을 한 번도 본 적이 없습니다.

편집 :

내가 그것을 언급하는 것을 잊었다하지만, 웹 프로젝트가 포함 된 빌드에 임의의 경고의 무리도 있습니다. .targets 파일에 대한 오류가 발생하고 다른 빌드에 표시되지 않는 경우에만 나타납니다. 아마도 그것은 하나가 .Net4.5 (웹)과 다른 사실과 관련되어 .Net3.5cf입니다 :

C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets (989): The reference assemblies for framework ".NETFramework,Version=v4.5" were not found. To resolve this, install the SDK or Targeting Pack for this framework version or retarget your application to a version of the framework for which you have the SDK or Targeting Pack installed. Note that assemblies will be resolved from the Global Assembly Cache (GAC) and will be used in place of reference assemblies. Therefore your assembly may not be correctly targeted for the framework you intend. 
C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets (989): The reference assemblies for framework ".NETFramework,Version=v4.5" were not found. To resolve this, install the SDK or Targeting Pack for this framework version or retarget your application to a version of the framework for which you have the SDK or Targeting Pack installed. Note that assemblies will be resolved from the Global Assembly Cache (GAC) and will be used in place of reference assemblies. Therefore your assembly may not be correctly targeted for the framework you intend. 
C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets (1635): There was a mismatch between the processor architecture of the project being built "MSIL" and the processor architecture of the reference "C:\Windows\Microsoft.NET\Framework\v4.0.30319\\mscorlib.dll", "x86". This mismatch may cause runtime failures. Please consider changing the targeted processor architecture of your project through the Configuration Manager so as to align the processor architectures between your project and references, or take a dependency on references with a processor architecture that matches the targeted processor architecture of your project. 
C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets (1635): There was a mismatch between the processor architecture of the project being built "MSIL" and the processor architecture of the reference "System.Data", "AMD64". This mismatch may cause runtime failures. Please consider changing the targeted processor architecture of your project through the Configuration Manager so as to align the processor architectures between your project and references, or take a dependency on references with a processor architecture that matches the targeted processor architecture of your project. 
C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets (989): The reference assemblies for framework ".NETFramework,Version=v4.5" were not found. To resolve this, install the SDK or Targeting Pack for this framework version or retarget your application to a version of the framework for which you have the SDK or Targeting Pack installed. Note that assemblies will be resolved from the Global Assembly Cache (GAC) and will be used in place of reference assemblies. Therefore your assembly may not be correctly targeted for the framework you intend. 
C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets (1635): There was a mismatch between the processor architecture of the project being built "MSIL" and the processor architecture of the reference "C:\Windows\Microsoft.NET\Framework\v4.0.30319\\mscorlib.dll", "x86". This mismatch may cause runtime failures. Please consider changing the targeted processor architecture of your project through the Configuration Manager so as to align the processor architectures between your project and references, or take a dependency on references with a processor architecture that matches the targeted processor architecture of your project. 
C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets (1635): There was a mismatch between the processor architecture of the project being built "MSIL" and the processor architecture of the reference "System.Data", "AMD64". This mismatch may cause runtime failures. Please consider changing the targeted processor architecture of your project through the Configuration Manager so as to align the processor architectures between your project and references, or take a dependency on references with a processor architecture that matches the targeted processor architecture of your project. 
C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets (989): The reference assemblies for framework ".NETFramework,Version=v4.5" were not found. To resolve this, install the SDK or Targeting Pack for this framework version or retarget your application to a version of the framework for which you have the SDK or Targeting Pack installed. Note that assemblies will be resolved from the Global Assembly Cache (GAC) and will be used in place of reference assemblies. Therefore your assembly may not be correctly targeted for the framework you intend. 

편집 2 :

좋아.

Successful Build: Run on agent (reserved build agent Build2014 - Agent1) 
Failed Build: Run on agent (reserved build agent TFS2013 - Agent1) 

Build2014 우리의 빌드 VM이며, TFS2013 우리의 소스 제어 하나입니다 딜런의 코멘트 후에, 나는, 그리고 놀랍게도 빌드 실행 단 하나의 에이전트 있다는 것을 "확인"을 빌드 로그에 갔다.

TFS 2013을 TFS2013에 설치하면 빌드 에이전트가 동일한 컴퓨터에 설치됩니다. 별도의 시스템에 설치된 제어기에도 같은 이름의 에이전트가 있습니다. 이것은 컨트롤러가 그 중 하나를 선택했다는 것을 의미하며, TFS 머신을 쳤을 때마다 빌드가 실패했습니다 (왜냐하면 거기에 개발자 환경이 없기 때문입니다).

TFS 시스템에 잘못 설치된 에이전트를 제거하면 여기로 갈 수 있습니다.

답변

3

빌드가 항상 동일한 빌드 에이전트/서버에서 실행되고 있습니까? 여러 빌드 에이전트를 설치하고 특정 에이전트에서만 작동 할 수 있습니까?

+0

예. 나는 그들이 같은 에이전트, 컨트롤러 및 기계에서 실행되고 있다는 것을 절대적으로 확신합니다 ... – julealgon

+2

좋아, 그것에 대해 잊어 버려. 동일한 컴퓨터에 같은 이름으로 등록 된 두 명의 에이전트가 서로 다른 컴퓨터에 있습니다. 믿을 수 없는. – julealgon

관련 문제