다음을 통해 공유


모든 .NET 빌드 사용자 지정

이 문서의 기술은 특정 컴퓨터, 가상 머신 또는 컨테이너에서 실행되는 모든 빌드를 사용자 지정하려는 경우에 유용합니다. 예를 들어 빌드 서버를 설정할 때는 서버에 있는 모든 빌드에 대해 MSBuild 설정을 전역적으로 구성해야 할 수 있습니다. 원칙적으로 전역 Microsoft.Common.Targets 또는 Microsoft.Common.Props 파일을 수정할 수 있지만 더 좋은 방법이 있습니다. 특정 MSBuild 속성을 사용하고 특정 사용자 지정 .targets.props 파일을 추가하여 특정 프로젝트 형식(예: 모든 C# 프로젝트)의 모든 빌드에 영향을 줄 수 있습니다.

표준 .props 및 .targets 파일 전후

MSBuild 또는 Visual Studio 설치가 관리하는 모든 C# 또는 Visual Basic 빌드에 영향을 주려면 Microsoft.Common.targets 파일 전이나 후에 실행될 대상과 함께 Custom.Before.Microsoft.Common.Targets 또는 Custom.After.Microsoft.Common.Targets 파일을 만들거나 Microsoft.Common.props 전이나 후에 처리될 속성과 함께 Custom.Before.Microsoft.Common.Props 또는 Custom.After.Microsoft.Common.Props 파일을 만듭니다.

다음 MSBuild 속성을 사용하여 이러한 파일의 위치를 지정할 수 있습니다.

  • CustomBeforeMicrosoftCommonProps
  • CustomBeforeMicrosoftCommonTargets
  • CustomAfterMicrosoftCommonProps
  • CustomAfterMicrosoftCommonTargets
  • CustomBeforeMicrosoftCSharpTargets
  • CustomBeforeMicrosoftVisualBasicTargets
  • CustomAfterMicrosoftCSharpTargets
  • CustomAfterMicrosoftVisualBasicTargets

이러한 속성의 공통 버전은 C# 프로젝트와 Visual Basic 프로젝트 모두에 영향을 줍니다. MSBuild 명령줄에서 이러한 속성을 설정할 수 있습니다.

msbuild /p:CustomBeforeMicrosoftCommonTargets="C:\build\config\Custom.Before.Microsoft.Common.Targets" MyProject.csproj

Warning

Visual Studio는 형식이 일치하는 프로젝트를 빌드할 때마다 MSBuild 폴더에서 사용자 지정 .targets 또는 .props 파일을 찾으면 이를 사용합니다. 이로 인해 의도하지 않은 결과가 발생할 수 있으며, 제대로 수행되지 않으면 컴퓨터에서 Visual Studio의 빌드 기능을 사용하지 못할 수 있습니다.

일반 props 파일 바꾸기

AlternateCommonProps 속성을 사용하여 Microsoft.Common.props 대신에 사용할 자체 .props 파일을 지정할 수도 있습니다. Microsoft.Common.props를 직접 수정하여 사용자 지정해야 하는 경우, 대신 해당 파일의 표준 버전을 다른 파일에 복사한 다음 대체 버전에서만 변경할 수 있습니다.

가장 좋은 방법은 시나리오에 따라 달라집니다. Visual Studio 확장성을 사용하여 빌드 시스템을 사용자 지정하고 사용자 지정을 설치 및 관리하기 위한 메커니즘을 제공할 수 있습니다.

전용 빌드 서버가 있고 해당 서버에서 실행되는 적절한 프로젝트 형식의 모든 빌드에서 항상 특정 대상이 실행되도록 하려면 전역 사용자 지정 .targets 또는 .props 파일을 사용하는 것이 좋습니다. 특정 조건이 적용될 때만 사용자 지정 대상이 실행되도록 하려면 다른 파일 위치를 사용하고 필요한 경우에만 MSBuild 명령줄에서 적절한 MSBuild 속성을 설정하여 해당 파일의 경로를 설정합니다.