VS2010 MakeFile 프로젝트 (vcxproj) 빌드 방법 VS 2008에서 잘 구축 된 프로젝트가 있고 TFS 빌드를 설치하고 사용하기 시작한 다음 TFS 2010으로 업그레이드했습니다. 모든 것이 여전히 괜찮 았고 올바르게 구축되었습니다 (모든 원격 Visual Studio 2010 클라이언트에서 한 번의 클릭으로 빌드 시작으로 모든 것을 훌륭하게 만들었던 새로운 빌드 프로세스를 구현 한 후에). Visual Studio를 빌드 에이전트에 설치할 필요가 없습니다. 나는 매우 어려운 (매우 하드) 빌드 에이전트에 Visual Studio를 설치하려고하지 않는 내 이해가 필요하지 않기 때문에 우리는 비 개발 컴퓨터에 설치할 수있는 라이센스가 없습니다.TFS 빌드 (VS 2010 없음)
이제 VS 2010으로 솔루션을 업그레이드하고 SQL Server CLR 프로 시저를 대상으로하는 어셈블리이고 .NET 4.0을 아직 지원하지 않기 때문에 .NET 3.5를 대상으로했습니다. 하지만 TFS Build에서는 더 이상 빌드 할 수 없습니다. TFS Build와 MS Build 명령 줄에서 일관된 오류 메시지가 나타나는 것 같지 않지만 C : \ Program Files \ MSBuild \에 있지 않은 Microsoft.Cpp.Targets와 관련이 있다고 생각합니다. Visual Studio를 설치하지 않았습니다. Microsoft Windows SDK 7.1을 설치하여 다른 .NET 4.0 프로젝트 용 svcutil과 같은 .NET 4.0 SDK 도구를 실행할 수 있었지만 아무 것도이 빌드가 원하는 것을 설치하지 않는 것 같습니다.
C : \ TFSBld [...] \ GenerateLanguage \ GenerateLanguage.vcxproj (46,3) : 오류 MSB4019 : 가져온 프로젝트 "C : \ Microsoft.Cpp 오류 TFS 빌드 날입니다 제공 .Default.props "는 입니다. 의 경로가 이고 디스크에 파일이 있는지 확인하십시오.
그리고 내가 그 오류를 클릭하면 그것은 vcxproj 파일에이 라인에 저를 취 정말이 프로젝트에 할 필요가 RESX 파일에서 자원 파일을 생성 할 수 resgen을 실행
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
그들을 위성 어셈블리로 컴파일한다. 이 작업을 수행하기 위해 메이크 파일 빌드를 사용하고있었습니다. 수동으로 resgen을 실행했는데 (다른 방법으로 독립형 솔루션으로 위성 어셈블리를 컴파일하는 방법을 찾지 못했기 때문에) DLL을 컴파일했습니다. 그 방법이 지금은 어떻게 작동했는지는 기억이 나지 않지만 AL.exe를 수동으로 실행하여 리소스 파일에서 DLL 파일을 컴파일했다고 생각합니다. 그래서 기본적으로이 프로젝트를 빌드하기 위해 커맨드 라인을 실행할 필요가 있습니다. 전체 프로젝트를 버리고 TFS 빌드 스크립트를 편집하여 하드 코딩 된 커맨드 라인을 실행하지 않고는 합리적인 방법으로이를 수행 할 수 없습니다. 대신. 더 좋은 방법이 있어야합니다.
저는 하루 종일 사용해 왔고 표준 파일 대신에 .targets 파일과 .xml 속성 시트를 작성하려고 시도했지만 내 머리 위로 쓰려고했습니다. 간단히 줄을 삭제하려고했지만 MSBuild는 "빌드"대상이 없다고 불평합니다. vcxproj 파일에 더미를 추가하려고 시도했지만 모든 작업이 완료된 후 사전 및 사후 구축 단계를 실행하지 않는 것 같습니다.
이 질문은 이미 여기에 답변 된 것처럼 보입니다. http://stackoverflow.com/questions/3043294/how-to-build-a-vs2010-c-project-on-a-buildserver 이 질문을 업데이트/제거하는 올바른 방법? – BlueMonkMN