웹 응용프로그램
Visual Studio 에서 웹 응용프로그램 프로젝트는 파일 > 새로 만들기 > 프로젝트 또는 웹사이트로 시작하게 됩니다.
편의를 위해 웹 응용프로그램을 웹사이트 형식으로 시작해서 개발하고, 배포를 하기 위해 웹응용프로그램 프로젝트로 변환을 해야할 필요가 있는 경우가 있습니다.
웹 사이트 형식으로 시작하면 개발하고 확인하고 오류를 수정하고 확인하는 작업이 매우 편리한 장점이 있지만, 페이지(.aspx)와 페이지 비하인드 코드(.aspx.cs)가 같이 웹서버에 배포되어 있어야 한다는 단점이 있습니다.
웹프로젝트로 변환하려니 페이지(aspx, ascx 등)에 선언된 컨트롤의 ID를 코드에서 참조할 수 없다고 에러 리스트에 난리가 납니다.
방법을 찾다보니 잘 정리된 글이 있어 간략하게 정리하였습니다. stackoverflow : How To Convert ASP.NET Website to ASP.NET Web Application
웹 응용프로그램 프로젝트로 변환
웹 사이트 형식의 웹 응용프로그램 소스를 웹 응용프로그램 프로젝트로 변환하려면 아래의 순서로 진행합니다.
- Visual Studio 에서 파일 > 새로 만들기 > 프로젝트 메뉴를 사용해서 새로운 프로젝트를 생성합니다. ASP.NET 응용 프로그램 프로젝트로 생성합니다.
- 기존 웹 사이트 방식으로 관리하던 파일을 새로 만든 프로젝트에 모두 복사하고, 기존에 사용하던 참조 어셈블리도 새로 만든 프로젝트에 모두 참조로 추가합니다.
- 네임스페이스를 사용하지 않았다면 모든 클래스를 네임스페이스를 추가해줍니다. 구조에 맞게 네임스페이스를 명명하면 좋겠습니다.
namespace WebApplication { }, namespace WebApplication.Account { } - 새로 만든 프로젝트를 빌드하면 문제가 발생할 것입니다. 페이지에서 사용하는 컨트롤의 ID를 비하인드 코드에서 참조할 수 없는 것이 대부분일 것입니다. .aspx.designer.cs 파일에 선언되어 있어야 합니다. 손으로 하나하나 파일을 추가해도 되지만, 새로 만든 프로젝트를 선택하고 프로젝트 > 웹 응용프로그램으로 변환 메뉴를 클릭합니다. 그러면 <%@ Page <%@ Control 등의 지시어를 기준으로 aspx, ascx 페이지에 대한 .aspx.designer.cs 및 .ascx.designer.cs 파일을 생성해줍니다.
- 이제 자동화 할 수 있는 부분은 완료되었습니다. 빌드를 해보고 문제가 있는 부분을 차근차근 손을 보면 완성됩니다.
이 사이트는 광고를 포함하고 있습니다.
광고로 발생한 수익금은 서버 유지 관리에 사용되고 있습니다.This site contains advertisements.
Revenue generated by the ad servers are being used for maintenance.