source

ASP의 web.config에서 TargetFramework 설정은 무엇을 의미합니까?NET MVC?

manysource 2023. 5. 10. 22:05

ASP의 web.config에서 TargetFramework 설정은 무엇을 의미합니까?NET MVC?

ASP 중 하나입니다.NET MVC 5 웹 응용 프로그램에는 다음과 같은 web.config 설정이 있습니다.

<system.web>
  <compilation debug="true" targetFramework="4.6" />
  <httpRuntime targetFramework="4.5" />
  <!--... many other things -->
</system.web>

왜 두 개의 targetFramework 설정이 있는지 명확하지 않으며, 타겟팅 4.6을 컴파일한 다음 4.5 이하로 실행하려고 하는 것은 잘못된 것 같습니다...

분명히 나는 무언가를 놓치고 있습니다, 하지만 무엇입니까?

:targetFramework에 있는 web.config는 각 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .NET Framework.targetFrameworkcompilation그리고.httpRuntime각 개발 및 배포 환경에 속합니다.

MSDN 블로그에 따르면:

<compilation targetFramework="4.6" />

의 버전을 선택합니다.NET Framework의 참조 어셈블리는 컴파일을 수행할 때 사용됩니다.(참고: Visual Studio에서는 자동으로 추론하더라도 이 요소가 Web.config에 있어야 합니다.)

이 요소는 컴파일 중에 현재 프로젝트에서 종속성 및 관련 어셈블리를 만드는 데 사용되는 어셈블리 버전을 결정합니다.

<httpRuntime targetFramework="4.5" />현재 프로젝트가 사용하도록 설계되었음을 의미합니다.메모리에 로드하기 전에 배포 시스템에서 기존 프로젝트 어셈블리를 다시 컴파일하지 않고 NET 4.5 런타임 어셈블리.

, 우는다정의버된전번있다에 번호로 수 .targetFrameworkhttpRuntime대상 컴퓨터에서 사용 중인 런타임 파일 버전에 따라 컴파일된 프로젝트와 런타임 사용 시 사용 가능한 어셈블리 간의 호환성을 유지하도록 설계된 요소입니다.

따라서 이 동작은 잘못된 동작이 아닙니다. 프로젝트 작성자는 런타임 호환성을 유사한 특성(예: 버전 4.5)을 가진 대상 시스템에서 사용할 수 있는 가장 낮은 런타임 버전으로 유지하기를 원할 뿐입니다. 심지어 최신 버전의 .NET 어셈블리.버전 4.5와 4.6의 차이는 상대적으로 작기 때문에 런타임 버전을 4.5로 유지할 수 있습니다.

관련 참조:

내가 아는 바로는<compilation debug="true" targetFramework="4.6" />에 의해 .<httpRuntime targetFramework="4.5" /> 이래httpRuntime 다으로변다니로 변환됩니다.

<compilation targetFramework="4.5" />
<machineKey compatibilityMode="Framework45" />
<pages controlRenderingCompatibilityVersion="4.5" />

따라서 위의 설정은 VS가 직접 수행한 경우 오해나 버그로 인한 것일 수 있지만 사실이 아니라고 생각합니다.

Microsoft 직원이 작성한 All about <httpRuntime targetFramework>라는 제목의 이 블로그는 이 설정과 기타 모든 관련 내용을 이해하는 데 도움이 될 수 있습니다.하지만 요점은;

.NET Framework(ASP 포함).NET)는 시스템에서 기존 프레임워크를 업데이트할 때 거의 100%에 가까운 호환성을 유지하기 위해 노력합니다.애플리케이션이 에 대해 개발 및 배포된 경우 가능한 한 보장하려고 합니다.NET Framework 4는 4.5에서 계속 작동합니다.이는 일반적으로 버전 간에 제품에서 특이하거나 버그가 있거나 바람직하지 않은 동작을 유지하는 것을 의미합니다. 이러한 동작을 수정하면 해당 동작에 의존하는 애플리케이션에 부정적인 영향을 미칠 수 있기 때문입니다.

언급URL : https://stackoverflow.com/questions/40170567/what-do-the-targetframework-settings-mean-in-web-config-in-asp-net-mvc