연습: 웹 사이트 게시 도구를 사용하여 웹 사이트 프로젝트 배포

Visual Studio 2010

Visual Studio의 웹 사이트 게시 도구를 사용하여 웹 사이트 프로젝트를 컴파일한 다음 출력을 지정된 위치에 복사하는 단계별 지침을 제공합니다.

웹 사이트 프로젝트를 서버에 배포하려면 Visual Studio에 포함된 웹 사이트 게시 도구를 사용할 수 있습니다. 웹 사이트 게시 도구는 웹 사이트에 있는 페이지와 코드를 미리 컴파일하고 컴파일러 출력을 지정한 폴더에 씁니다. 출력을 대상 웹 서버로 복사한 다음 이 서버에서 응용 프로그램을 실행할 수 있습니다.

참고참고

Visual Web Developer Express에서는 웹 사이트 게시 도구를 사용할 수 없습니다.

프로덕션에 배포하는 경우 배포 프로세스 동안 프로덕션 사이트가 페이지 요청에 응답하지 않도록 할 수 있습니다. 이렇게 하면 변경이 진행 중일 때 발생할 수 있는 오류를 방지할 수 있습니다. 또한 배포 중 응용 프로그램 도메인이 여러 번 재활용되지 않도록 할 수 있습니다. 이 연습에서는 이러한 작업은 다루지 않습니다. 자세한 내용은 방법: 웹 프로젝트 배포 준비를 참조하십시오.

참고참고

이 항목은 웹 사이트 프로젝트에만 적용됩니다. 웹 응용 프로그램 프로젝트와 웹 사이트 프로젝트 간의 차이점에 대한 자세한 내용은 웹 응용 프로그램 프로젝트와 웹 사이트 프로젝트 비교를 참조하십시오.

이 연습을 완료하려면 다음과 같은 요건이 필요합니다.

  • Visual Studio.

    참고참고

    이 연습에서는 Visual Studio를 처음 시작할 때 웹 개발 설정 컬렉션을 선택했다고 가정합니다. 자세한 내용은 방법: 웹 개발 환경 설정 선택을 참조하십시오.

  • Microsoft IIS(인터넷 정보 서비스)에 대한 액세스 권한(웹 사이트 프로젝트의 게시 결과를 테스트하는 데 필요). 이 연습에서는 사용자 컴퓨터에서 IIS가 실행되고 있다고 가정합니다. 또는 가상 디렉터리를 만들 권한이 있는 임의의 IIS 인스턴스를 사용할 수 있습니다.

연습: Visual Studio에서 기본 웹 페이지 만들기 를 완료했거나 다른 목적으로 Visual Studio에서 웹 사이트 프로젝트를 이미 만들었으면 해당 프로젝트를 사용하여 다음 단원으로 이동합니다. 그렇지 않으면 새 웹 사이트 프로젝트를 만듭니다. 이 연습에서는 파일 시스템 웹 사이트를 만듭니다.

파일 시스템 웹 사이트를 만들려면

  1. Visual Studio를 엽니다.

  2. 파일 메뉴에서 새 웹 사이트를 클릭합니다.

    새 웹 사이트 대화 상자가 표시됩니다.

  3. 설치된 템플릿에서 Visual Basic 또는 Visual C#을 클릭한 다음 ASP.NET 빈 웹 사이트를 선택합니다.

  4. 웹 위치 상자에서 파일 시스템을 선택한 다음 웹 사이트의 페이지를 보관할 폴더의 이름을 입력합니다.

    예를 들어, 폴더 이름 C:\WebSites를 입력합니다.

  5. 확인을 클릭합니다.

    Visual Studio에서 Web.config 파일만 포함된 웹 사이트 프로젝트를 만듭니다.

이 연습에서는 몇 개의 컨트롤이 있는 웹 페이지를 만듭니다. 웹 페이지에서 사용할 클래스 파일도 만듭니다. 웹 페이지와 별도의 클래스를 모두 만들면 게시 프로세스에서 웹 사이트의 콘텐츠를 미리 컴파일하는 방법을 확인할 수 있습니다.

먼저 새 페이지를 만든 다음 단추와 레이블을 페이지에 추가합니다.

페이지를 만들고 컨트롤을 추가하려면

  1. 솔루션 탐색기에서 웹 사이트 프로젝트의 이름을 마우스 오른쪽 단추로 클릭한 다음 새 항목 추가를 클릭합니다.

  2. 설치된 템플릿에서 원하는 프로그래밍 언어를 선택하고 Web Form을 클릭합니다.

  3. 이름 상자에 SamplePage.aspx를 입력합니다.

  4. 추가를 클릭합니다.

  5. 디자인 뷰로 전환합니다.

  6. 도구 상자표준 그룹에서 Label 컨트롤을 페이지로 끌어옵니다.

  7. 도구 상자표준 그룹에서 Button 컨트롤을 페이지로 끌어와 Label 컨트롤 옆에 놓습니다.

다음에는 단일 속성이 있는 단순 클래스의 소스 코드를 만듭니다. 이 클래스는 페이지 코드에서 사용합니다.

클래스를 만들려면

  1. 솔루션 탐색기에서 웹 사이트 프로젝트의 이름을 마우스 오른쪽 단추로 클릭하고 ASP.NET 폴더 추가를 가리킨 다음 App_Code를 클릭합니다.

    솔루션 탐색기의 응용 프로그램에 App_Code라는 새 폴더가 나타납니다. App_Code 폴더는 예약된 ASP.NET 응용 프로그램 폴더입니다. 자세한 내용은 ASP.NET 웹 프로젝트 폴더 구조을 참조하십시오.

  2. App_Code 폴더를 마우스 오른쪽 단추로 클릭한 다음 새 항목 추가를 클릭합니다.

  3. 설치된 템플릿에서 사용할 언어를 클릭하고 클래스를 클릭합니다.

  4. 이름 상자에 TestClass를 입력합니다.

  5. 추가를 클릭합니다.

    Visual Studio에서 지정한 프로그래밍 언어로 기본 클래스 파일을 만듭니다.

  6. TestProperty라는 속성을 만듭니다.

    작업을 마치면 완성된 클래스 파일은 다음과 같습니다.

    using System;
    public class TestClass
    {
        public TestClass() { }
        private string TestPropertyValue;
        public string TestProperty
        {
            get{ return TestPropertyValue; }
            set{ TestPropertyValue = value; } 
        }
    }
    

이제 페이지에서 클래스를 사용할 수 있습니다. 사용하기 전에 클래스를 컴파일할 필요가 없습니다.

페이지에서 클래스를 사용하려면

  1. SamplePage.aspx를 열고 디자인 뷰로 전환합니다.

  2. Button 컨트롤을 두 번 클릭하여 이 컨트롤에 대한 Click 처리기를 만듭니다.

  3. Click 처리기에 이전 절차에서 만든 TestClass 인스턴스를 만들고 TestProperty 속성에 값을 할당한 다음 Label 컨트롤에 TestProperty 값을 표시합니다.

    전체 코드는 다음과 같습니다.

    protected void Button1_Click(object sender, EventArgs e)
    {
        TestClass testClass = new TestClass();
        testClass.TestProperty = "Hello";
        Label1.Text = testClass.TestProperty;
    }
    

웹 사이트 테스트

사이트를 게시하기 전에 테스트하여 사이트가 예상대로 실행되는지 확인할 수 있습니다.

웹 사이트를 테스트하려면

  1. SamplePage.aspx 페이지를 엽니다.

  2. Ctrl+F5를 누릅니다.

    페이지가 브라우저에 나타납니다.

  3. 단추를 클릭하여 텍스트가 Label 컨트롤에 나타나는지 확인합니다.

  4. 브라우저를 닫습니다.

웹 사이트가 완성되면 게시할 수 있습니다. Visual Studio에서 지원되는 모든 연결 프로토콜을 사용하여 액세스 가능한 모든 위치에 웹 사이트를 게시할 수 있습니다. 웹 사이트 복사 옵션은 다음과 같습니다.

  • 로컬 컴퓨터의 폴더로 복사합니다.

  • UNC 공유를 사용하여 네트워크의 다른 컴퓨터에 있는 공유 폴더로 복사합니다.

  • FTP를 사용하여 서버로 복사합니다.

  • HTTP 프로토콜을 사용하여 FPSE(FrontPage Server Extensions)가 설치된 서버로 복사합니다.

이 연습 부분에서는 웹 사이트를 로컬 폴더에 게시합니다.

웹 사이트를 게시하려면

  1. 빌드 메뉴에서 웹 사이트 게시를 클릭합니다.

    웹 사이트 게시 대화 상자가 나타납니다.

  2. 대상 위치 상자에 c:\CompiledSite를 입력합니다.

    주의 정보주의

    대상 폴더와 하위 폴더의 모든 데이터가 삭제됩니다.

    이 연습에서는 로컬 폴더에 게시하지만 HTTP 또는 FTP를 사용하여 원격 웹 사이트에 게시하려면 대상 위치 상자에서 원격 서버 URL을 지정합니다.

  3. 미리 컴파일된 이 사이트를 업데이트할 수 있도록 허용의 선택을 취소합니다.

    이 옵션은 모든 프로그램 코드가 어셈블리로 컴파일되지만 페이지 및 사용자 정의 컨트롤(.aspx, .ascx 및 .master 파일)은 대상 폴더에 그대로 복사되므로 프로젝트를 다시 컴파일하지 않고도 텍스트 파일로 업데이트할 수 있도록 지정합니다. 이 연습에서는 해당 옵션을 선택하지 않습니다. 자세한 내용은 ASP.NET 웹 사이트 프로젝트 배포 개요를 참조하십시오.

  4. 확인을 클릭합니다.

    Visual Studio에서 웹 사이트의 콘텐츠를 미리 컴파일하고 지정한 폴더에 출력을 씁니다. 출력 창에 진행률이 표시됩니다. 컴파일 중에 오류가 발생하면 출력 창에서 보고됩니다.

  5. 게시 중에 오류가 발생하면 오류를 수정한 다음 이 절차를 반복합니다.

웹 사이트 게시 명령의 출력 검사

웹 사이트 게시 명령의 출력을 검사하여 Visual Studio에서 웹 사이트 파일에 대해 수행한 작업을 확인할 수 있습니다.

웹 사이트 게시 명령의 출력을 검사하려면

  1. Windows 탐색기에서 웹 사이트 게시 명령의 대상으로 지정한 폴더로 이동합니다.

  2. 메모장 같은 텍스트 편집기를 사용하여 SamplePage.aspx 파일을 엽니다.

    원래 파일에 있던 태그가 파일에 포함되어 있지 않습니다. 대신 .aspx 페이지는 URL의 일부로 사용할 수 있는 자리 표시자일 뿐입니다.

  3. Bin 폴더로 이동합니다.

    이 폴더에는 다음 두 가지 형식의 파일이 들어 있습니다.

    • 페이지에 해당하는 .compiled 파일

    • 생성된 클래스 파일과 같은 웹 사이트의 실행 코드가 포함된 .dll 파일

생성된 페이지, 해당 코드 및 별도의 클래스 파일이 모두 실행 코드로 컴파일되었습니다.

이제 게시된 웹 사이트를 실행하여 테스트할 수 있습니다.

게시된 웹 사이트를 테스트하려면

  1. 대상 폴더를 가리키는 IIS 가상 디렉터리를 만듭니다.

    1. Windows 시작 메뉴에서 실행을 선택하고 inetmgr를 입력한 다음 확인을 클릭합니다.

      IIS(인터넷 정보 서비스) 관리자 대화 상자가 나타납니다.

    2. 연결 창에서 서버 이름을 확장하고 사이트를 확장합니다.

    3. 기본 웹 사이트를 마우스 오른쪽 단추로 클릭하고 가상 디렉터리 추가를 선택합니다.

      가상 디렉터리 추가 대화 상자가 나타납니다.

    4. 별칭 상자에 CompiledWebSite를 입력합니다.

    5. 실제 경로 상자에 C:\CompiledWebSite를 입력합니다.

    6. 확인을 클릭합니다.

    7. IIS 관리자의 연결 창에서 새 가상 디렉터리를 마우스 오른쪽 단추로 클릭하고 응용 프로그램으로 변환을 선택합니다.

      응용 프로그램 추가 대화 상자가 나타납니다.

    8. 확인을 클릭합니다.

  2. 브라우저를 열고 다음 URL을 입력합니다.

    http://localhost/CompiledSite/SamplePage.aspx

    SamplePage.aspx 페이지가 나타납니다. 그러나 이번에는 사전 컴파일러에서 배포를 위해 만든 페이지 버전이 표시됩니다.

이 연습에서는 미리 컴파일된 웹 사이트를 게시하기 위한 기본 절차를 배웠습니다. 다음과 같은 제안을 따르는 것이 좋습니다.

표시: