다음을 통해 공유


Visual Studio 또는 Visual Web Developer를 사용하여 SQL Server Compact ASP.NET 웹 애플리케이션 배포: 프로젝트 속성 구성 - 12개 중 4개

작성자 : Tom Dykstra

시작 프로젝트 다운로드

이 자습서 시리즈에서는 Visual Studio 2012 RC 또는 Visual Studio Express 2012 RC for Web을 사용하여 SQL Server Compact 데이터베이스를 포함하는 ASP.NET 웹 애플리케이션 프로젝트를 배포(게시)하는 방법을 보여 줍니다. 웹 게시 업데이트를 설치하는 경우 Visual Studio 2010을 사용할 수도 있습니다. 시리즈에 대한 소개는 시리즈의 첫 번째 자습서를 참조하세요.

Visual Studio 2012의 RC 릴리스 이후에 도입된 배포 기능을 보여 주는 자습서는 SQL Server Compact 이외의 SQL Server 버전을 배포하는 방법을 보여 줍니다. Azure App Service Web Apps 배포하는 방법을 보여 주는 자습서는 Visual Studio를 사용하여 웹 배포 ASP.NET 참조하세요.

개요

일부 배포 옵션은 프로젝트 파일( .csproj 또는 .vbproj 파일)에 저장된 프로젝트 속성에 구성됩니다. 대부분의 경우 이러한 설정의 기본값은 원하는 값이지만 Visual Studio에 기본 제공되는 프로젝트 속성 UI를 사용하여 이러한 설정을 변경해야 하는 경우 이러한 설정을 사용할 수 있습니다. 이 자습서에서는 프로젝트 속성의 배포 설정을 검토합니다. 빈 폴더를 배포하는 자리 표시자 파일도 만듭니다.

프로젝트 속성 창에서 배포 설정 구성

배포 중에 발생하는 일에 영향을 주는 대부분의 설정은 다음 자습서에서 볼 수 있듯이 게시 프로필에 포함됩니다. 알아야 할 몇 가지 설정은 프로젝트 속성 창의 패키지/게시 탭에 있습니다. 이러한 설정은 각 빌드 구성에 대해 지정됩니다. 즉, 디버그 빌드와 릴리스 빌드에 대한 설정이 다를 수 있습니다.

솔루션 탐색기ContosoUniversity 프로젝트를 마우스 오른쪽 단추로 클릭하고 속성을 선택한 다음 패키지/게시 웹 탭을 선택합니다.

Package_Publish_Web_tab

창이 표시되면 기본적으로 솔루션에 대해 현재 활성 상태인 빌드 구성에 대한 설정을 표시합니다. 구성 상자에 활성(릴리스)이 표시되지 않으면 릴리스 빌드 구성에 대한 설정을 표시하려면 릴리스를 선택합니다. 릴리스 빌드를 테스트 및 프로덕션 환경 모두에 배포합니다.

Package_Publish_Web_tab_selecting_Release

활성(릴리스) 또는 릴리스를 선택하면 릴리스 빌드 구성을 사용하여 배포할 때 유효한 값이 표시됩니다.

  • 배포할 항목 상자에서 애플리케이션을 실행하는 데 필요한 파일만 선택됩니다. 다른 옵션은 이 프로젝트의 모든 파일 또는 이 프로젝트 폴더의 모든 파일입니다. 예를 들어 기본 선택을 변경하지 않고 그대로 두면 소스 코드 파일을 배포하지 않아도 됩니다. 이 설정은 SQL Server Compact 이진 파일이 포함된 폴더를 프로젝트에 포함해야 하는 이유입니다. 이 설정에 대한 자세한 내용은 ASP.NET 웹 애플리케이션 프로젝트 배포 FAQ에서 프로젝트 폴더의 모든 파일이 배포되지 않는 이유는 무엇인가요?를 참조하세요.
  • 생성된 디버그 기호 제외가 선택됩니다. 이 빌드 구성을 사용할 때는 디버깅하지 않습니다.
  • App_Data 폴더에서 파일 제외 가 선택되어 있지 않습니다. 멤버 자격 데이터베이스에 대한 SQL Server Compact 파일이 해당 폴더에 있으므로 배포해야 합니다. 데이터베이스 변경 내용을 포함하지 않는 업데이트를 배포하는 경우 이 확인란을 선택합니다.
  • 게시를 선택하지 않기 전에 이 애플리케이션을 미리 컴파일합니다. 대부분의 시나리오에서는 웹 애플리케이션 프로젝트를 미리 컴파일할 필요가 없습니다. 이 옵션에 대한 자세한 내용은 패키지/게시 웹 탭, 프로젝트 속성고급 사전 컴파일 설정 대화 상자를 참조하세요.
  • 패키지/게시 SQL 탭에 구성된 모든 데이터베이스 포함이 선택되었지만 패키지/게시 SQL 탭을 구성하지 않으므로 이 옵션은 이제 적용되지 않습니다. 이 탭은 SQL Server 데이터베이스를 배포하는 유일한 옵션으로 사용하던 레거시 데이터베이스 배포 방법에 대한 것입니다. SQL Server 마이그레이션 자습서에서 패키지/게시 SQL 탭을 사용합니다.
  • 웹 배포 패키지 설정 섹션은 이 자습서에서 원클릭 게시를 사용하므로 적용되지 않습니다.

구성 드롭다운 상자를 디버그로 변경하여 디버그 빌드에 대한 기본 설정을 확인합니다. 디버그 빌드를 배포할 때 디버그할 수 있도록 생성된 디버그 기호 제외 가 지워진 것을 제외하고 값은 동일합니다.

Elmah 폴더가 배포되었는지 확인

이전 자습서에서 보았듯이 Elmah NuGet 패키지 는 오류 로깅 및 보고 기능을 제공합니다. Contoso University 애플리케이션에서 Elmah는 Elmah라는 폴더에 오류 세부 정보를 저장하도록 구성되었습니다.

Elmah 폴더

배포에서 특정 파일 또는 폴더를 제외하는 것이 일반적인 요구 사항입니다. 또 다른 예는 사용자가 파일을 업로드할 수 있는 폴더입니다. 개발 환경에서 만든 로그 파일 또는 업로드된 파일을 프로덕션 환경에 배포하지 않도록 합니다. 또한 프로덕션에 업데이트를 배포하는 경우 배포 프로세스가 프로덕션에 있는 파일을 삭제하지 않도록 합니다. (배포 옵션을 설정하는 방법에 따라 배포할 때 원본 사이트가 아닌 대상 사이트에 파일이 있는 경우 웹 배포는 대상에서 삭제합니다.)

이 자습서의 앞부분에서 보았듯이 패키지/게시 웹 탭의 배포할 항목 옵션은 이 애플리케이션을 실행하는 데 필요한 파일만으로 설정됩니다. 따라서 개발 중인 Elmah에서 만든 로그 파일은 배포되지 않습니다. 이는 수행하려는 작업입니다. (배포하려면 프로젝트에 포함되어야 하며 빌드 작업 속성은 Content로 설정해야 합니다. 자세한 내용은 ASP.NET 웹 애플리케이션 프로젝트 배포 FAQ)에서 프로젝트 폴더의 모든 파일이 배포되지 않는 이유는 무엇인가요?를 참조하세요. 그러나 복사할 파일이 하나 이상 없는 한 웹 배포는 대상 사이트에 폴더를 만들지 않습니다. 따라서 폴더가 복사되도록 자리 표시자 역할을 하는 .txt 파일을 폴더에 추가합니다.

솔루션 탐색기Elmah 폴더를 마우스 오른쪽 단추로 클릭하고 새 항목 추가를 선택한 다음Placeholder.txt라는 파일을 만듭니다. "폴더가 배포되도록 하는 자리 표시자 파일입니다."라는 텍스트를 입력하고 파일을 저장합니다. .txt파일의 빌드 작업 속성이 기본적으로 Content로 설정되어 있으므로 Visual Studio에서 이 파일과 폴더를 배포하도록 하려면 이 작업을 수행해야 합니다.

이제 모든 배포 설정 작업을 완료했습니다. 다음 자습서에서는 Contoso University 사이트를 테스트 환경에 배포하고 테스트합니다.