1. compilation
compilation 요소는 ASP.NET에서 코드 컴파일과 관련된 설정을 제어합니다. 이 요소는 ASP.NET 애플리케이션의 런타임 동작에 대한 여러 가지 정보를 정의하며, 주로 뷰 엔진이나 페이지 코드 비하인드의 컴파일과 관련된 설정을 제어하는 데 사용됩니다.
주요 속성은 다음과 같습니다:
debug 속성: 디버그 정보를 포함하도록 컴파일할지 여부를 결정합니다. true로 설정하면 디버그 정보를 포함하고, false로 설정하면 디버그 정보를 제외하고 최적화된 코드를 생성합니다.
targetFramework 속성: 코드가 컴파일되는 대상 .NET Framework 버전을 지정합니다. 코드는 해당 버전에 대한 호환성 및 최적화를 고려하여 컴파일됩니다.
assemblies 요소: 컴파일 시 참조할 어셈블리들을 지정합니다.
compilation 요소는 뷰 엔진과는 직접적으로 연결되지는 않지만, 뷰 페이지나 페이지 코드 비하인드 파일이 컴파일되는 방식과 관련이 있습니다. 예를 들어, Razor 뷰 엔진을 사용하는 경우, 이 요소의 설정은 Razor 뷰를 생성하는 데 영향을 미칩니다.
따라서 compilation 요소는 코드 컴파일 및 실행에 관련된 전반적인 설정을 제어하는 데 사용되며, 뷰 엔진 선택과는 간접적으로 연결됩니다.
Web Forms의 경우
<system.web>
<compilation debug="true" targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />
</system.web>
// Web.config 파일안의 이 부분을 보면 compilation 요소의 내용 중
targetFramework="4.5"가 보이는데, 이것은 Web Forms의 컴파일 설정요소를 나타낸다.
mvc 모델의 경우
<compilation debug="true" targetFramework="4.5.2">
<assemblies>
<!-- 다른 어셈블리들... -->
</assemblies>
</compilation>
<httpRuntime targetFramework="4.5.2" />
targetFramework="4.5.2": 이 설정은 .NET Framework 4.5.2를 대상으로 합니다. 이 경우, 주로 Razor 뷰 엔진을 사용하는 ASP.NET MVC나 ASP.NET Core MVC 프로젝트를 의미합니다.
targetFramework="4.5": 이 설정은 .NET Framework 4.5를 대상으로 합니다. 이 경우, 주로 Web Forms 뷰 엔진을 사용하는 전통적인 ASP.NET Web Forms 프로젝트를 나타냅니다.
2. 기본문서 설정
<defaultDocument>
<files>
<add value="login.aspx" />
</files>
</defaultDocument>
부분을 보면 login.aspx를 기본 문서로 설정하고 있습니다. 이것은 Web Forms 프로젝트에서 특정 페이지를 기본 문서로 설정하는데 사용됩니다.