다음을 통해 공유


프로젝트 디자이너(C#), 빌드 이벤트 페이지

비고

이 페이지는 Visual Studio 2019에 적용됩니다. Visual Studio 2022를 사용하는 경우 .NET Core 및 .NET 5 이상 프로젝트의 프로젝트 디자이너는 매우 다릅니다. 빌드 이벤트 지정(C#)을 참조하세요.

프로젝트 디자이너빌드 이벤트 페이지를 사용하여 빌드 구성 지침을 지정합니다. 빌드 후 이벤트가 실행되는 조건을 지정할 수도 있습니다. 자세한 내용은 방법: 빌드 이벤트 지정(C#)방법: 빌드 이벤트 지정(Visual Basic)을 참조하세요.

UIElement 목록

구성

이 컨트롤은 이 페이지에서 편집할 수 없습니다. 이 컨트롤에 대한 설명은 프로젝트 디자이너 빌드 페이지(C#)를 참조하세요.

플랫폼

이 컨트롤은 이 페이지에서 편집할 수 없습니다. 이 컨트롤에 대한 설명은 프로젝트 디자이너 빌드 페이지(C#)를 참조하세요.

빌드 전 이벤트 명령줄

빌드가 시작되기 전에 실행할 명령을 지정합니다. 긴 명령을 입력하려면 빌드 전 편집 을 클릭하여 빌드 전 이벤트/빌드 후 이벤트 명령줄 대화 상자를 표시합니다.

비고

프로젝트가 최신 상태이고 빌드가 트리거되지 않으면 빌드 전 이벤트가 실행되지 않습니다.

빌드 후 이벤트 명령줄

빌드가 종료된 후 실행할 명령을 지정합니다. 긴 명령을 입력하려면 빌드 후 편집 을 클릭하여 빌드 전 이벤트/빌드 후 이벤트 명령줄 대화 상자를 표시합니다.

비고

call 파일을 실행하는 .bat 모든 빌드 후 명령 앞에 문을 추가합니다. 예를 들어 call C:\MyFile.bat 또는 call C:\MyFile.bat call C:\MyFile2.bat.

빌드 후 이벤트 실행

다음 표와 같이 빌드 후 이벤트를 실행할 다음 조건을 지정합니다.

옵션 결과
항상 빌드 후 이벤트는 빌드 성공 여부에 관계없이 실행됩니다.
성공적인 빌드 빌드 후 이벤트는 빌드가 성공하면 실행됩니다. 따라서 빌드가 성공하는 한 up-to-date인 프로젝트에 대해서도 이벤트가 실행됩니다.
빌드에서 프로젝트 출력을 업데이트하는 경우 빌드 후 이벤트는 컴파일러의 출력 파일(.exe 또는 .dll)이 이전 컴파일러 출력 파일과 다른 경우에만 실행됩니다. 따라서 프로젝트가 up-to-date인 경우 빌드 후 이벤트가 실행되지 않습니다.

프로젝트 파일에서

이전 버전의 Visual Studio에서는 IDE에서 PreBuildEvent 또는 PostBuildEvent 설정을 변경하면 Visual Studio에서 프로젝트 파일에 a PreBuildEvent 또는 PostBuildEvent 속성을 추가합니다. 예를 들어 IDE의 PreBuildEvent 명령줄 설정이 다음과 같은 경우입니다.

"$(ProjectDir)PreBuildEvent.bat" "$(ProjectDir)..\" "$(ProjectDir)" "$(TargetDir)"

그런 다음 프로젝트 파일 설정은 다음과 같습니다.

<PropertyGroup>
    <PreBuildEvent>"$(ProjectDir)PreBuildEvent.bat" "$(ProjectDir)..\" "$(ProjectDir)" "$(TargetDir)" />
</PropertyGroup>

.NET Core 프로젝트의 경우 Visual Studio는 이름이 지정 PreBuild 되거나 PostBuildPreBuildEvent 및 PostBuildEvent 설정에 대해 MSBuild 대상을 추가합니다. 이러한 대상은 MSBuild에서 인식하는 BeforeTargetsAfterTargets 특성을 사용합니다. 예를 들어 앞의 예제에서 Visual Studio는 이제 다음 코드를 생성합니다.

<Target Name="PreBuild" BeforeTargets="PreBuildEvent">
    <Exec Command="&quot;$(ProjectDir)PreBuildEvent.bat&quot; &quot;$(ProjectDir)..\&quot; &quot;$(ProjectDir)&quot; &quot;$(TargetDir)&quot;" />
</Target>

빌드 후 이벤트의 경우 이름을 PostBuild 사용하고 특성을 AfterTargetsPostBuildEvent.로 설정합니다.

<Target Name="PostBuild" AfterTargets="PostBuildEvent">
   <Exec Command="echo Output written to $(TargetDir)" />
</Target>

비고

이러한 프로젝트 파일은 SDK 스타일 프로젝트를 지원하기 위해 변경되었습니다. 프로젝트 파일을 이전 형식에서 SDK 스타일 형식으로 수동으로 마이그레이션하는 경우 이전 코드와 같이 해당 파일과 PreBuildEvent 속성을 삭제 PostBuildEvent 하고 대상과 바 PreBuildPostBuild 꿔야 합니다. 프로젝트가 SDK 스타일 프로젝트인지 확인하는 방법을 알아보려면 프로젝트 형식 확인을 참조하세요.

참고하십시오