중복 가능: ASP.NET: 웹 사이트 또는 웹 애플리케이션?
Visual Studio에서 새 ASP.NET 프로젝트를 만들 때 만들기: 웹 사이트 또는 프로젝트 중 어느 것을 선택해야 하나요?
VS 2003에서는 웹 응용 프로그램 프로젝트가 과거에 사용하던 방식이라고 알고 있는데 지금도 여전히 적용 가능한가요? 둘 중 하나를 사용할 때 주의해야 할 점은 무엇인가요?
MSDN에 꽤 좋은 비교 차트가 있다.
웹 사이트 프로젝트는 프로젝트 폴더에 추가된 모든 파일이 자동으로 컴파일되어 포함된다는 점에서 간단하며, 이는 기존 ASP 및 PHP 개발자가 더 쉽게 사용할 수 있도록 하기 위해 추가된 것으로 추정됩니다. 한 가지 장점은 특정 작업을 파일 유형과 연결할 수 있는 빌드 공급자가 포함되어 있다는 것입니다. SubSonic의 첫 번째 릴리스에서는 사이트에 .abp 파일을 추가할 때 데이터 액세스 계층을 다시 빌드하는 방식입니다.
하지만 웹 애플리케이션 프로젝트는 훨씬 더 유연합니다. 예를 들어, 웹사이트 프로젝트의 모든 클래스 라이브러리는 App_Code 폴더에 있어야 하는데, 이는 복잡한 애플리케이션에서는 불편합니다. 웹 사이트 프로젝트에는 작동하지 않는 시나리오가 많이 있습니다.
다른 프로젝트로 변환할 수 있지만, 확실하지 않은 경우 웹 애플리케이션으로 시작하는 것이 좋습니다.
웹 사이트 및 웹 프로젝트](http://igurr.com/blogs/programming/archive/2009/03/25/websites-and-web-projects.aspx) 문서의 일부 내용에 강력히 동의하지 않습니다.
첫째, 반란을 일으킨 것은 소수의 개발자가 아니라 개발 방식을 완전히 바꾸고 싶은지 물어보지 않은 대부분의 개발자였다고 생각합니다. 완벽하게 좋은 웹 서비스를 망가뜨리기 위해 무엇을 했는지 알아내느라 6주 동안 개발 시간을 낭비하고 싶은지 묻지도 않았습니다.
MS가 출시한 것은 '다운로드'가 아니라 VS2005 SP1이었고, 그들은 매우 빠르게 출시했습니다.
프로젝트 없는 개발을 위한 장점으로는 <프로젝트 복사> 명령이 매우 잘 작동하고, 디버그나 프로젝트 파일을 피할 필요가 없으며, 소스 제어를 사용하지 않는다면 페이지를 이동할 수 있다는 점, 공동 작업을 위해 프로젝트 파일을 잠가야 한다는 점은 어디서 얻은 것일까요? 소스 제어를 위해 무엇을 사용하고 있을까요?
또한 이 논쟁에 한 가지 질문을 덧붙이자면, 웹 사이트가 무엇이 그리 특별해서 (내가 아는 한) 유일하게 프로젝트 파일을 사용하지 않는 <프로젝트> 유형이어야 하는가? 마이크로소프트가 웹 개발자가 프로젝트를 이해하기에는 너무 단순하다고 생각한 것이 아니라면, 다른 이유가 떠오르지 않는다.
물론 프로젝트 파일을 사용하지 않는 다른 Visual Studio '프로젝트' 유형을 아는 사람이 있다면 알려주면 감사하겠다.