다음을 통해 공유


Visual Studio .NET에서 웹 프로젝트 변환

업데이트: 2007년 11월

Microsoft Visual Studio 2005는 Visual Studio .NET 2002 및 Visual Studio .NET 2003(이 항목의 나머지 부분에서는 집합적으로 Visual Studio .NET으로 지칭됨)과 다른 방식으로 웹 사이트 프로젝트와 파일을 관리합니다. 따라서 Visual Studio 2005를 사용하여 Visual Studio .NET에서 만든 프로젝트 작업을 수행하면 프로젝트가 웹 응용 프로그램 프로젝트로 변환됩니다. Visual Studio 2005에서 Visual Studio .NET 프로젝트를 열면 이 프로세스가 자동으로 수행됩니다. 변환 마법사가 웹 응용 프로그램을 변환하며 변환을 완료하는 데 필요한 수동 편집을 최소화합니다. 이 항목에서는 변환 프로세스 및 Visual Studio .NET 파일의 변경 내용에 대해 설명합니다. 웹 응용 프로그램 프로젝트에 대한 자세한 내용은 웹 응용 프로그램 프로젝트 개요를 참조하십시오.

변환 프로세스의 전체적인 목적은 Visual Studio 2005에서 Visual Studio .NET 프로젝트를 열고 자동으로 변환한 다음 기능 변경 없이 원래대로 실행할 수 있도록 하는 것입니다. 변환 프로세스는 단방향으로 실행되므로 프로젝트를 Visual Studio 2005로 변환한 후에는 다시 Visual Studio .NET에서 작업할 수 없습니다. Visual Studio 2005에서 프로젝트의 파일을 변경하지만 원래 파일의 백업 복사본을 만들 수 있습니다. Visual Studio .NET에서 Visual Studio 2005 파일을 IntelliSense와 같은 특정 기능 없이 독립 실행형 파일로 열 수는 있지만 전체 프로젝트가 변경된 상태로 열립니다. 필요한 경우 백업 파일에서 Visual Studio 프로젝트를 복원할 수 있습니다.

보안 정보:

기존 프로젝트를 Visual Studio 2005로 변환하기 전에, 특히 여러 사용자가 프로젝트를 수정한 경우 기존 파일을 모두 검사합니다. 낯선 파일이 있는지 살펴 보십시오. 이렇게 하면 악성 코드를 Visual Studio로 가져오는 것을 방지할 수 있습니다. 일반적으로 관리 작업을 수행할 필요가 없는 경우 관리자가 아닌 일반 사용자로 Visual Studio 2005를 실행하는 것이 좋습니다.

이 항목에는 Visual Studio 2005로의 웹 프로젝트 변환에 대한 다음과 같은 측면의 정보가 포함되어 있습니다.

  • Visual Studio 2005 변환 프로세스

  • 솔루션 및 프로젝트

  • 프로젝트 설정 변환

  • 특정 구성 변환

  • 데이터 구성 요소

  • 코드 모듈

  • 웹 서비스

  • 변환 및 소스 코드 컨트롤

Visual Studio 2005 변환 프로세스

다음 목록에서는 Visual Studio .NET에서 Visual Studio 2005로의 기본 웹 프로젝트 변환 프로세스에 대해 개괄적으로 설명합니다.

  1. Visual Studio 2005에서 기존 Visual Studio .NET 웹 사이트를 엽니다. 다음과 같은 파일 및 디렉터리를 열 수 있습니다.

    • 솔루션(.sln) 파일

    • 프로젝트(.vbproj, .csproj 또는 .vjp) 파일

    • 웹 사이트의 루트 디렉터리

  2. 프로젝트 파일이 있으면 Visual Studio 2005에서 변환 마법사를 호출하여 웹 프로젝트를 변환합니다.

    참고:

    Visual Studio 2005의 웹 프로젝트에는 프로젝트 파일이 필요하지 않습니다. 웹 프로젝트 폴더에 있는 파일은 모두 웹 프로젝트의 일부로 간주됩니다.

    변환 마법사의 각 단계에 대한 자세한 내용은 방법: Visual Studio .NET 프로젝트를 Visual Studio 2005로 변환을 참조하십시오.

  3. Visual Studio 2005는 ASP.NET 버전 1.x 사용에서 ASP.NET 버전 2.0을 사용하도록 웹 응용 프로그램을 변환합니다. 예를 들어, ASP.NET 웹 페이지와 사용자 정의 컨트롤의 CodeBehind 특성은 새로운 CodeFile 특성으로 변경됩니다. 파일을 수정하면 원래 파일 사용 권한이 유지되지 않습니다. 새 파일에 대한 읽기/쓰기 권한이 사용자에게 부여됩니다. 파일의 변경 내용에 대한 자세한 내용은 웹 솔루션 및 프로젝트 파일 변환을 참조하십시오.

  4. 독립 실행형 클래스 파일은 App_Code 디렉터리로 이동합니다.

  5. 다른 파일 형식은 검사하지 않습니다. 여기에는 그래픽, HTML 파일 등도 포함됩니다. 또한 마이그레이션 프로세스에서 응용 프로그램 외부에 있는 파일은 무시됩니다. 이렇게 하면 악의적인 사용자가 프로젝트 파일에 상대 경로를 사용하여 응용 프로그램 외부에 있는 파일에 액세스하는 것을 방지할 수 있습니다.

  6. ConversionReport.txt라는 보고서가 생성되어 변환된 웹 프로젝트의 루트 디렉터리에 저장됩니다. 이 보고서 파일에는 웹 프로젝트의 모든 변경 내용이 나열되며 정보 제공용 설명, 경고, 변환 중 발생한 오류가 포함될 수도 있습니다. 변환 마법사에서 마법사가 완료된 후 변환 로그를 표시하는 옵션을 선택하면 Visual Studio 2005에서 변환 보고서를 볼 수 있습니다. 이 보고서의 형식에 대한 자세한 내용은 마이그레이션 변환 보고서 형식을 참조하십시오.

참고:

프로젝트에서 소스 컨트롤을 사용하는 경우 Visual Studio 2005로 변환한 후에는 웹 프로젝트 파일에 소스 컨트롤이 적용되지 않습니다.

솔루션 및 프로젝트

Visual Studio 2005에서 솔루션 파일을 열면 Visual Studio는 .sln 파일의 내용을 검사하여 포함된 프로젝트 유형을 확인합니다. Visual Web Developer는 웹 응용 프로그램(웹 페이지 및 웹 서비스)만 변환합니다. Windows Forms 프로젝트나 콘솔 응용 프로그램 등 다른 유형의 프로젝트가 포함된 솔루션 파일을 열면 웹 프로젝트만 열리고 변환됩니다.

프로젝트 파일을 열면 Visual Studio 2005는 해당 프로젝트에서 참조하는 파일을 변환합니다. 프로젝트 파일과 같은 디렉터리에 있지만 프로젝트에 포함되지 않는 파일은 변환하지 않으므로 오류가 발생할 수 있습니다. 예를 들어 폴더에 있지만 프로젝트 파일에 포함되지 않는 Page1.aspx.cs라는 코드 숨김 파일과 Page1.aspx라는 파일이 있으면 변환 마법사는 두 파일을 모두 변환하지 않습니다. Page1.aspx 및 Page1.aspx.cs 파일은 모두 변환된 웹 응용 프로그램의 일부로 간주되기 때문에 컴파일 시 오류가 발생합니다.

App_Data 또는 App_GlobalResources와 같이 Visual Studio 2005에서 예약된 이름을 가진 디렉터리가 프로젝트에 포함되어 있으면 Visual Studio 2005는 기존 디렉터리 이름에 "_old"를 추가합니다(예: App_Data_old). 이로 인해 발생할 수 있는 끊어진 참조를 해결하려면 새 디렉터리를 참조하도록 코드를 수동으로 변경하거나 코드를 App_Data 또는 App_GlobalResources와 같은 예약된 디렉터리로 이동해야 합니다. 자세한 내용은 ASP.NET 웹 사이트의 공유 코드 폴더를 참조하십시오.

프로젝트 설정 변환

Visual Studio 2005에서는 프로젝트 파일의 설정을 유지 관리하지 않으므로 Visual Studio .NET 프로젝트의 설정은 Web.config 파일로 변환되거나 설정이 Visual Studio .NET에서와 같은 방식으로 Visual Studio 2005에서 적용되지 않는 경우 변환되지 않습니다.

자세한 내용은 웹 프로젝트 설정 변환을 참조하십시오.

특정 구성 변환

소스 프로젝트에 사용자 지정 빌드 구성이 포함되어 있으면 변환 프로세스에서 변환할 구성을 선택하라는 메시지를 표시합니다. 여기서 선택하는 구성에 따라 변환 중에 웹 사이트를 새로운 형식으로 구성하는 데 사용되는 프로젝트 설정이 결정됩니다.

소스 프로젝트에 기본 빌드 구성(릴리스 및 디버그)만 포함되어 있으면 변환 프로세스는 디버그 구성의 설정을 사용합니다.

데이터 구성 요소

웹 페이지에 대한 데이터 액세스를 추가하는 모델이 Visual Studio 2005에서 변경되었습니다. Visual Studio 2005는 데이터 액세스를 위해 여전히 ADO.NET 구성 요소를 사용하지만 Visual Studio 2005 페이지에서는 데이터 연결 개체, 데이터 명령 개체, 데이터 집합 또는 데이터 판독기가 캡슐화된 데이터 소스 컨트롤을 사용하여 데이터 액세스를 제어합니다. 자세한 내용은 데이터 소스 컨트롤 개요데이터 바인딩 식 개요을 참조하십시오.

데이터 연결, 데이터 명령 및 데이터 집합의 명시적 인스턴스 작업을 수행하는 Visual Studio .NET 모델은 Visual Studio 2005에서도 계속 지원됩니다. Visual Studio 2005에서 데이터 액세스가 필요한 페이지나 파일을 변환하면 기존 데이터 개체도 원래대로 변환되어 Visual Studio .NET에서와 같은 방식으로 Visual Studio 2005에서 작동합니다. 그러나 Visual Studio 2005 웹 페이지 디자이너(디자인 뷰)는 이러한 개체를 지원하지 않으므로 디자이너 내에서는 해당 데이터 구성 요소 작업을 할 수 없습니다. 소스 뷰에서는 작업이 가능합니다.

데이터 집합

변환 중에 Visual Studio 2005는 형식화된 데이터 집합의 스키마(.xsd 파일)를 변환하고 App_Code 디렉터리에 저장합니다. 웹 사이트에서 .xsd 파일을 자동으로 참조할 수 있기 때문에 Visual Studio에서 생성된 데이터 집합 클래스를 나타내는 .vb 또는 .cs 파일은 변환되지 않습니다.

코드 모듈

독립 실행형 코드 모듈(.vb 및 cs 파일)은 현재 상태대로 App_Code 디렉터리로 이동됩니다. 웹 페이지나 다른 ASP.NET 파일과 관련된 .vb 및 cs 파일에는 적용되지 않습니다. Friend 또는 Internal로 표시된 멤버 선언은 모두 Public으로 변경됩니다.

.vb 파일에 대해 변환 프로세스는 웹 프로젝트의 루트 디렉터리를 가리키는 Namespace 문을 추가합니다. 또한 변환 과정에서는 ASP.NET에서 이미 자동으로 가져오지 않은 모든 클래스가 compiler 요소의 compilerOptions 특성에 추가됩니다.

웹 서비스

웹 서비스는 기본적으로 Visual Studio .NET에서와 같은 형식으로 변환됩니다. 웹 서비스의 클래스 파일(.asmx.vb 또는 .asmx.cs 파일)은 App_Code 디렉터리로 이동됩니다. Friend 또는 Internal로 표시된 멤버는 모두 Public으로 변경됩니다. .asmx 파일에서 @ Page 지시문의 CodeBehind 특성은 코드의 새 위치를 가리키도록 업데이트됩니다.

Visual Basic 웹 서비스에서는 웹 프로젝트의 루트 네임스페이스에 의해 정의된 클래스 파일에 Namespace 문이 추가됩니다. 또한 변환 과정에서는 Visual Basic 파일에 ASP.NET에서 기본적으로 가져오지 않은 웹 서비스에 대한 가져오기를 모두 정의하는 Imports 문이 추가됩니다.

변환 및 소스 코드 컨트롤

소스 코드 인리스트먼트는 변환되지 않습니다. 변환 후에는 웹 사이트의 파일에 소스 컨트롤이 적용되지 않습니다.

참고 항목

작업

방법: Visual Studio .NET 프로젝트를 Visual Studio 2005로 변환

연습: Visual Studio .NET 2003 웹 프로젝트를 Visual Studio 웹 응용 프로그램 프로젝트로 변환

개념

웹 솔루션 및 프로젝트 파일 변환

웹 프로젝트 설정 변환

마이그레이션 변환 보고서 형식

웹 응용 프로그램 프로젝트 개요

웹 응용 프로그램 프로젝트 개요