Visual Studio를 사용하여 웹 배포 ASP.NET: 프로젝트 속성
작성자: Tom Dykstra
이 자습서 시리즈에서는 Visual Studio 2012 또는 Visual Studio 2010을 사용하여 Azure App Service Web Apps 또는 타사 호스팅 공급자에 ASP.NET 웹 애플리케이션을 배포(게시)하는 방법을 보여 줍니다. 시리즈에 대한 자세한 내용은 시리즈의 첫 번째 자습서를 참조하세요.
개요
일부 배포 옵션은 프로젝트 파일( .csproj 또는 .vbproj 파일)에 저장된 프로젝트 속성에 구성됩니다. 대부분의 경우 이러한 설정의 기본값은 원하는 값이지만 Visual Studio에 기본 제공되는 프로젝트 속성 UI를 사용하여 변경해야 하는 경우 이러한 설정을 사용할 수 있습니다. 이 자습서에서는 프로젝트 속성의 배포 설정을 검토합니다. 빈 폴더를 배포하는 자리 표시자 파일도 만듭니다.
프로젝트 속성 창에서 배포 설정 구성
배포 중에 발생하는 일에 영향을 주는 대부분의 설정은 다음 자습서에서 볼 수 있듯이 게시 프로필에 포함됩니다. 알아야 할 몇 가지 설정은 프로젝트 속성 창의 패키지/게시 탭에 있습니다. 이러한 설정은 각 빌드 구성에 대해 지정됩니다. 즉, 릴리스 빌드에 대한 설정이 디버그 빌드와 다를 수 있습니다.
솔루션 탐색기ContosoUniversity 프로젝트를 마우스 오른쪽 단추로 클릭하고 속성을 선택한 다음 패키지/웹 게시 탭을 선택합니다.
창이 표시되면 기본적으로 솔루션에 대해 현재 활성화된 빌드 구성에 대한 설정을 표시합니다. 구성 상자에 활성(릴리스)이 표시되지 않으면 릴리스 빌드 구성에 대한 설정을 표시하려면 릴리스를 선택합니다. 릴리스 빌드를 테스트 및 프로덕션 환경 모두에 배포합니다.
활성(릴리스) 또는 릴리스를 선택하면 릴리스 빌드 구성을 사용하여 배포할 때 유효한 값이 표시됩니다.
- 배포할 항목 상자에서 애플리케이션을 실행하는 데 필요한 파일만 선택됩니다. 다른 옵션은 이 프로젝트의 모든 파일 또는 이 프로젝트 폴더의 모든 파일입니다. 예를 들어 기본 선택을 변경하지 않고 그대로 두면 소스 코드 파일을 배포하지 않아도 됩니다. 이 설정은 SQL Server Compact 이진 파일이 포함된 폴더를 프로젝트에 포함해야 하는 이유입니다. 이 설정에 대한 자세한 내용은 ASP.NET 웹 애플리케이션 프로젝트 배포 FAQ에서 프로젝트 폴더의 모든 파일이 배포되지 않는 이유는 무엇인가요?를 참조하세요.
- 생성된 디버그 기호 제외가 선택됩니다. 이 빌드 구성을 사용할 때는 디버깅하지 않습니다.
- 패키지/게시 SQL 탭에 구성된 모든 데이터베이스가 선택되어 있습니다. Visual Studio에서 데이터베이스와 파일을 배포할지 여부를 지정합니다. 검사 상자 레이블은 패키지/게시 SQL 탭만 언급하지만 이 검사 상자를 지우면 게시 프로필에 구성된 데이터베이스 배포도 비활성화됩니다. 나중에 이 작업을 수행하므로 검사 상자를 계속 선택해야 합니다. 패키지/게시 SQL 탭은 이 자습서에서 사용하지 않을 레거시 데이터베이스 게시 메서드에 사용됩니다.
- 웹 배포 패키지 설정 섹션은 이러한 자습서에서 원클릭 게시를 사용하므로 적용되지 않습니다.
디버그 빌드에 대한 기본 설정을 보려면 구성 드롭다운 상자를 디버그로 변경합니다. 디버그 빌드를 배포할 때 디버그할 수 있도록 생성된 디버그 기호 제외 를 제외하고 값은 동일합니다.
Elmah 폴더가 배포되었는지 확인합니다.
이전 자습서에서 살본 것처럼 Elmah NuGet 패키지 는 오류 로깅 및 보고 기능을 제공합니다. Contoso University 애플리케이션에서 Elmah는 Elmah라는 폴더에 오류 세부 정보를 저장하도록 구성되었습니다.
배포에서 특정 파일 또는 폴더를 제외하는 것이 일반적인 요구 사항입니다. 또 다른 예는 사용자가 파일을 업로드할 수 있는 폴더입니다. 개발 환경에서 만든 로그 파일 또는 업로드된 파일을 프로덕션에 배포하지 않도록 합니다. 또한 프로덕션에 업데이트를 배포하는 경우 배포 프로세스에서 프로덕션에 있는 파일을 삭제하지 않도록 합니다. 배포 옵션을 설정하는 방법에 따라 배포할 때 원본 사이트가 아닌 대상 사이트에 파일이 있는 경우 웹 배포는 대상에서 삭제합니다.
이 자습서의 앞부분에서 보았듯이 패키지/게시 웹 탭의 배포할 항목 옵션은 이 애플리케이션을 실행하는 데 필요한 파일만으로 설정됩니다. 따라서 개발 중인 Elmah에서 만든 로그 파일은 배포되지 않습니다. 배포하려면 프로젝트에 포함되어야 하며 빌드 작업 속성을 Content로 설정해야 합니다. 자세한 내용은 ASP.NET 웹 애플리케이션 프로젝트 배포 FAQ)에서 프로젝트 폴더의 모든 파일이 배포되지 않는 이유는 무엇인가요?를 참조하세요. 그러나 복사할 파일이 하나 이상 없는 한 웹 배포는 대상 사이트에 폴더를 만들지 않습니다. 따라서 폴더에 .txt 파일을 추가하여 폴더가 복사되도록 자리 표시자 역할을 합니다.
솔루션 탐색기Elmah 폴더를 마우스 오른쪽 단추로 클릭하고 새 항목 추가를 선택한 다음Placeholder.txt라는 텍스트 파일을 만듭니다. "폴더가 배포되도록 하는 자리 표시자 파일입니다."라는 텍스트를 입력하고 파일을 저장합니다. 기본적으로.txt파일의 빌드 작업 속성이 Content로 설정되기 때문에 Visual Studio에서 이 파일과 해당 파일의 폴더를 배포하도록 하려면 이 작업을 수행해야 합니다.
요약
이제 모든 배포 설정 작업을 완료했습니다. 다음 자습서에서는 Contoso University 사이트를 테스트 환경에 배포하고 테스트합니다.