2017-11-16 5 views
1

.net 4.7.1 웹 솔루션에 .net 표준 2.0 클래스 라이브러리가 있습니다.TFS2015에서 빌드 할 .net 표준 2.0 프로젝트를 얻는 방법

솔루션을 로컬로 빌드 괜찮지 만 TFS 서버가 솔루션을 빌드 할 때 .net 2.0 표준 라이브러리를 컴파일 할 수 없습니다. 컴파일하는 동안 충돌이 발생하고 system.object 등이 정의되거나 가져 오지 않는다고 불평합니다.

이전 tfsbuild.proj 스타일 xml 파일을 실행하는 TFS 2015입니다. 빌드 서버는 .net 4.7.1, 최신 .net 코어 2.0.3, 최신 Visual Studio, 최신 빌드 도구로 최신 버전입니다.

크래시가 발생하는 .net 표준 2.0 프로젝트를 컴파일하기 위해 csc.exe 명령을 생성하는 것을 볼 수 있습니다. 간단히 "dotnet build"를 실행한다면 그것은 훌륭하게 작동합니다.

빌드 로그보기 VS 또는 "dotnet build"에서 실행될 때 CoreCompile 단계가 .net 표준 2 라이브러리에 대한 참조와 함께 "References"작업 매개 변수를 포함하고 있음을 알 수 있습니다. 빌드 서버에서 빌드를 실행중인 경우 CoreCompile 단계에서이 태스크 매개 변수가 누락되었습니다.

tfs 서버에서 msbuild를 성공적으로 진행하여 .net 표준 2.0 프로젝트를 성공적으로 컴파일하는 방법에 대한 제안이있는 사람이 있습니까?

msbuild에서 필요한 "참조"작업 매개 변수를 생성 할 수 있습니까?

.net 표준 프로젝트의 자동 빌드 기능을 끄고 dotnet 빌드가 필요한 참조를 올바르게 식별하기 때문에 "dotnet build"로 빌드 단계를 수동으로 수행하십시오.

+0

MSBuild 중심 빌드 시스템은 7 년 전에 사용되지 않았습니다. 아마도 빌드 프로세스를 업그레이드하는 데 투자해야합니다. –

+0

TFS2015에서 어떤 빌드 시스템을 사용하고 있습니까? 이전 XAML 빌드 또는 새 vNext 빌드? –

답변

2

VS2015 MSBuild 도구를 사용하여 .NET Standard 2.0 프로젝트가 포함 된 솔루션을 작성하려고합니다.

프로젝트 파일 구조를 변경 닷넷은 비주얼 스튜디오 2017

지원의 출시와 함께 새로운 .NET 코어 및 .NET 표준 프로젝트 (첫번째 here 발표) .NET Core/Standard를 빌드하려면 TFS 2017 Update 2 업데이트가 함께 제공됩니다.

.NET 핵심 작업 지원 프로젝트 파일 현재 업데이트와

, 우리가 project.json에 추가 *.csproj 파일을 지원하기 위해 .NET의 핵심 업무를 강화하고 있습니다. 빌드 에이전트에서 Studio 2017을 사용하여 csproj 파일을 사용하여 .NET 핵심 응용 프로그램을 빌드 할 수 있습니다.

는 해결 방법으로는 TFS 2015 빌드 작업 MSBUILD 및 Visual Studio 빌드를 사용하여 포기하려고, 지금은 명령 줄 단계를 사용할 수 있습니다. 일반적으로 명령 줄에서 작업을 수행 할 수있는 경우 TFS/VSTS에서도 작업을 수행 할 수 있습니다. 더 자세한 단계는이 블로그를 참조하십시오. Building .NET Core and .NET Standard Projects in TFS 2015

+0

우리는 이전 tfsbuild 작업을 실행 중이며 msbuild 작업은 실행하지 않습니다. Visual Studio 2017은 더 이상 기존의 buildprocesstemplate을 열지 않고도 충돌없이 편집 할 수 있습니다. 이전의 tfsbuild.proj 스타일에서 전체 빌드 프로세스를 다시 작성하는 것은 불행히도 지금은 할 수있는 일이 아닙니다. 몇 가지 테스트를 수행하고 msbuild를 호출하면 실제로 작동하겠다고 제안했지만 결국 결국 tft 솔루션 빌드에서 물러나는 단계에서 빌드 단계로 특정 프로젝트에서 dotnet 빌드를 수동으로 호출하기로 선택했다. 다른 문제가 많이 발생했다. 또는 우리. 이것을 대답으로 표시하십시오. TY. – Bub