>  기사  >  백엔드 개발  >  VS에서 새 웹 사이트를 만드는 것과 새 웹 프로젝트를 만드는 것의 차이점은 무엇입니까?

VS에서 새 웹 사이트를 만드는 것과 새 웹 프로젝트를 만드는 것의 차이점은 무엇입니까?

巴扎黑
巴扎黑원래의
2017-04-30 10:43:564699검색

WebApplication 프로그래밍 모델의 장점

●웹사이트는 증분 컴파일 모드를 사용하여 빠르게 컴파일됩니다. 파일이 수정된 후에만 이 부분이 증분 컴파일됩니다.

●생성된 어셈블리
웹사이트: 임의의 어셈블리 이름을 생성합니다. 단일 어셈블리를 생성하려면 플러그인 WebDeployment를 사용해야 합니다.
WebApplication: 웹사이트 프로젝트를 지정하여 단일 어셈블리를 생성할 수 있습니다. 독립된 어셈블리이기 때문에 다른 프로젝트와 마찬가지로 애플리케이션 어셈블리의 이름, 버전, 출력 위치 및 기타 정보를 지정할 수 있습니다

●웹사이트를 여러 프로젝트로 분할하여 보다 쉽게 ​​관리할 수 있습니다

●프로젝트 및 소스코드 관리에서 파일 제외 가능

●일상 구축을 위한 VSTS의 Team Build를 편리하게 지원

●더욱 강력해진 코드 검사 기능, 소스 코드에 따라 검사 전략 제어

●컴파일 전후에 미리 규정된 처리를 수행할 수 있습니다

●App_GlobalResources에 대한 강력한 리소스 클래스 지원(온라인에서 언급되었지만 아직 배우지 못했습니다)

●VS2003을 사용하여 구축된 대규모 시스템을 직접 업그레이드

웹사이트 프로그래밍 모델의 장점

●페이지를 동적으로 컴파일하면 전체 사이트를 컴파일하지 않고도 바로 효과를 볼 수 있습니다.(가장 장점)

●위와 동일하게 잘못된 부분이 사용된 부분을 방해하는 것을 방지할 수 있습니다. (컴파일을 통과한 후에만 체크인할 수 있도록 요구할 수 있습니다.)

●페이지별로 어셈블리를 생성할 수 있습니다. (일반적으로 이 방법은 사용되지 않습니다.)

●디렉토리를 웹 애플리케이션으로 취급하여 파일을 직접 복사하고 프로젝트 파일 없이 게시할 수 있습니다(소규모 사이트에 적합)

●페이지를 어셈블리로 컴파일할 수도 있습니다(사용하면 안 되며, WebDeployment 플러그인을 통해 WebApplication 구현도 가능합니다)

두 프로그래밍 모델 간의 변환

VS2005 SP1에는 웹사이트에서 웹애플리케이션으로 쉽게 변환할 수 있는 변환 프로그램이 내장되어 있습니다
파일을 복사하고 마우스 오른쪽 버튼을 클릭한 후 "웹 응용 프로그램으로 변환"을 실행하세요.

특별한 역변환 도구를 찾지는 못했지만 비교해보니 변환이 매우 간단하다는 것을 알았습니다.
*.designer.cs 모두 삭제
*.aspx, *.ascx, *.master 페이지 파일의 Codebehind="******.aspx.cs"를 CodeFile="******.aspx.cs"
이렇게 하면 다시 변환할 수 있습니다

시나리오

웹 애플리케이션 프로젝트

웹사이트 프로젝트

프로젝트 정의

Visual Studio .NET 2003과 유사하게 프로젝트 파일이 존재하므로 프로젝트 파일에서 참조하는 파일만 솔루션에 표시됩니다. Explorer에 나타납니다. 그리고 이 파일들만 컴파일됩니다. ASP.NET 애플리케이션을 여러 Visual Studio 프로젝트로 쉽게 분할할 수 있습니다. 프로젝트 및 소스 코드 제어에서 파일을 쉽게 제외할 수 있습니다.

디렉토리 구조는 WEB 프로젝트입니다. 프로젝트 파일이 존재하지 않습니다. 이 디렉터리의 모든 파일은 프로젝트의 일부로 존재합니다.
물론 실제로 배포하는 웹 사이트의 경우 배포 시 프로젝트 파일이 없습니다. 웹 사이트를 수정하려는 경우 이 프로그래밍 모델이 매우 적합합니다. 이
WEB 사이트에서는 그 파일들이 어떤 프로젝트에 속해 있는지도 신경 쓸 필요가 없습니다.

컴파일 및 생성

Visual Studio .NET 2003Web 응용 프로그램 프로젝트 컴파일 모드와 거의 동일합니다.

모든 코드 숨김 클래스 파일과 프로젝트의 독립 클래스 파일은 독립 애플리케이션 어셈블리로 컴파일됩니다. 이 애플리케이션 세트는 Bin 디렉토리에 있습니다. 독립된 애플리케이션 세트이기 때문에 애플리케이션 세트의 이름, 버전, 출력 위치 및 기타 정보를 지정할 수 있습니다.

예: Model-View-Controller(MVC) 패턴을 여기에서 잘 사용할 수 있습니다. WEB 페이지와 WEB 사용자 컨트롤에서 별도의 클래스를 참조할 수 있기 때문입니다.

컴파일(Build) 명령은 단지 WEB 사이트가 올바르게 컴파일되었는지 테스트하고 WEB를 디버그하기 위한 것입니다. 사이트 프로젝트의 경우 이는 소스 코드 파일인 ASP.net을 기반으로 페이지와 클래스를 동적으로 컴파일하여 달성됩니다.

미리 컴파일된 사이트와 동적으로 컴파일된 사이트는 동일한 컴파일 의미를 사용합니다. 사전 컴파일을 통해 사이트 성능을 향상시킬 수 있습니다.

ASP.net 동적 컴파일 시스템은 기본 배치 컴파일 모델과 고정 이름 모델을 컴파일합니다.

배치 컴파일 모델에서는 여러 애플리케이션 세트(일반적으로 디렉터리당 하나)로 컴파일됩니다. 이때 애플리케이션 세트를 보면 어떤 디렉터리인지 파악하기 어렵다.

고정 이름 컴파일 모델에서는 웹 사이트의 각 페이지 또는 각 사용자 컨트롤이 애플리케이션 세트로 컴파일됩니다.

반복 개발

Web 페이지를 디버깅하거나 실행할 때 WEB 프로젝트 전체를 컴파일해야 합니다.

WEB 프로젝트 전체를 컴파일하는 것이 일반적으로 Visual Studio에서 증분 컴파일 모드를 사용하므로 파일만 수정되기 때문에 속도가 더 빠릅니다. 그러면 이 부분이 증분적으로 컴파일됩니다.

Visual Studio 2005의 편집 속성을 구성할 수 있습니다. 전체 사이트를 컴파일하거나, 특정 페이지를 컴파일하거나, 아무것도 하지 않을 수 있습니다. 마지막 경우 WEB 사이트를 실행하면 Visual Studio에서는 브라우저만 열어서 현재 페이지나 시작 페이지로 접속하는데, 이 요청이 전송되면 ASP.net 에서 동적 컴파일을 시작합니다.

이 모드에서는 페이지가 동적으로 컴파일되거나 다른 애플리케이션 세트로 컴파일되므로 페이지를 디버그하거나 실행하는 경우 전체 프로젝트를 컴파일할 필요가 없습니다. 오류가 있는 부분은 사용하는 부분에 지장을 주지 않습니다.

기본적으로 WEB 페이지를 실행하거나 디버깅하면 Visual Studio웹을 완전히 컴파일합니다. 사이트 프로젝트.

컴파일 중 모든 오류를 보려면 이렇게 합니다. 그러나 개발 중에 전체 사이트를 완전히 컴파일하는 것은 상당히 느릴 수 있습니다. 따라서 개발 및 디버깅 중에만 현재 페이지를 컴파일하는 것이 좋습니다.

배포

모든 클래스 파일이 애플리케이션 어셈블리로 컴파일되기 때문에 배포 시 이 애플리케이션 어셈블리를 .aspx 파일, 과 결합하기만 하면 됩니다. .ascx 파일은 다른 정적 콘텐츠 파일과 함께 배포됩니다.

이 모델에서는 .aspx 파일이 컴파일되지 않으며 브라우저가 이 페이지에 액세스할 때 동적으로 컴파일됩니다.

단, 웹 배포 프로젝트( Visual Studio 2005 플러그인을 사용하는 경우 기본적으로 포함되어 있지 않습니다VS2005), .aspx 파일을 응용 프로그램 집중으로 컴파일할 수 있습니다.

작은 코드 줄만 수정하는 경우 전체 프로젝트의 모든 코드를 컴파일하고 모든 코드가 포함된 애플리케이션 세트를 게시해야 합니다.

Visual Studio Publish Website 명령을 사용하여 .aspx 파일 코드 숨김 파일은 애플리케이션 어셈블리로 컴파일되므로 컴파일된 .aspx 파일 헤더가 변경되었습니다. (참고: Build 명령은 배포 가능한 애플리케이션 세트를 제공하지 않습니다.)

Publish 의 최신 버전은 코드 숨김 파일 컴파일만 지원하므로 배포 시 변경되지 않습니다. .aspx 파일입니다.

기본적으로 Bin 디렉토리에 여러 애플리케이션 세트로 사전 컴파일됩니다. 일반적으로 하나의 디렉토리는 하나의 애플리케이션 세트에 해당합니다.

고정 이름 배포 옵션을 사용하면 각 WEB 페이지 또는 각 WEB 사용자 컨트롤을 생성할 수 있습니다. 각 페이지에 배포 가능한 애플리케이션 세트가 있도록 애플리케이션 세트를 만듭니다. 그러나 고정 이름 배포 옵션을 사용하면 애플리케이션 세트 수와 실제 메모리 사용량이 늘어납니다.

Visual Studio .NET 2003

에서 업그레이드

VS2003과 동일한 WEB 프로젝트 개발 모델을 사용하기 때문에 업그레이드가 매우 매우 간단합니다.

웹 사이트 프로젝트의 다양한 컴파일 옵션은 Visual Studio .NET 2003WEB 프로젝트와 매우 다릅니다.

Microsoft에서 변환 마법사를 제공하지만 프로젝트가 복잡한 VS2003 프로젝트인 경우 변환 마법사를 사용한 후에도 변환 매뉴얼을 참조하여 많은 작업을 수행해야 합니다. 일의.

VS2003에서 업그레이드하려는 경우에는 이 WEB 사이트 개발 템플릿을 사용하지 않는 것이 좋습니다. 대신 웹 애플리케이션 프로젝트를 사용하세요.

선택할 WEB 프로그래밍 모델

옵션 또는 작업

웹 애플리케이션 프로젝트

웹사이트 프로젝트

VS2005로 마이그레이션해야 하는 대규모 Visual Studio .NET 2003 Web 애플리케이션이 있습니다.

단일 페이지 코드 모델을 사용하여 웹사이트 페이지를 개발하는 것을 좋아합니다. 코드 숨김 모델을 사용하여 웹사이트 페이지를 작성하는 대신

다음과 같은 방식으로 웹사이트를 작성하는 것이 좋습니다.

페이지 작성 시 글쓰기 효과를 빠르게 확인하기 위해 페이지를 동적으로 컴파일하면 사이트 전체를 컴파일하지 않고도 바로 효과를 확인할 수 있습니다.

(즉, 방금 만든 효과를 보려면 파일을 저장하고 브라우저에서 새로 고치기만 하면 됩니다.)

컴파일된 애플리케이션 어셈블리의 이름을 제어해야 합니다

페이지당 하나의 애플리케이션 세트 필요

WEB 페이지나 WEB 사용자 컨트롤에서는 별도의 클래스를 사용해야 합니다.

애플리케이션을 구축하려면 여러 프로젝트를 사용해야 합니다.

pre-build post-build 이벤트를 처리해야 합니다(컴파일 전후에 자체 추가 처리가 필요함) )

프로젝트 파일을 만들 필요 없이 디렉토리를 WEB 애플리케이션으로 처리하고 싶습니다.

위 내용은 VS에서 새 웹 사이트를 만드는 것과 새 웹 프로젝트를 만드는 것의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:aspx.designer.cs 정보다음 기사:aspx.designer.cs 정보