programing

web.config>config>config>runtime>assemblyBinding에서 생성된 항목의 의미/이유는 무엇입니까?

newsource 2023. 6. 14. 21:53

web.config>config>config>runtime>assemblyBinding에서 생성된 항목의 의미/이유는 무엇입니까?

한동안 web.config 파일에서 이 섹션을 보고 정확히 무엇이 목적인지 추론하려고 합니다.

  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>

첫 번째 항목은 다음과 같습니다.

시스템. 웹.도우미는 공개 키 토큰이 다음과 같은 종속 어셈블리의 이름입니다.31bf3856ad364e35버전 1.0.0.0 ~ 2.0.0을 버전 2.0.0으로 리디렉션합니다.

지정된 이름의 어셈블리에 따라 실행되는 ASP.NET 런타임의 컨텍스트에서 실행되는 코드를 의미하며, 지정된 범위의 버전도 지정된 공개 키로 컴파일된 것처럼 실행됩니다.

클래스 라이브러리에 의존하는 웹 프로젝트가 있고 클래스 라이브러리가 bindingRedirect가 있는 어셈블리의 이전 버전에 대한 참조를 가지고 있다면 코드가 새 버전에 대해 컴파일된 것처럼 실행된다는 의미입니까?

클래스 라이브러리에 의존하는 웹 프로젝트가 있고 클래스 라이브러리가 bindingRedirect가 있는 어셈블리의 이전 버전에 대한 참조를 가지고 있다면 코드가 새 버전에 대해 컴파일된 것처럼 실행된다는 의미입니까?

당신이 옳아요 (저는 그냥 "..."라고 말하고 싶어요.코드는 최신 버전을 참조하는 것처럼 실행됩니다."), http://msdn.microsoft.com/en-us/library/7wd6ex19%28v=vs.110%29.aspx 을 참조하십시오.

"강력한 이름을 가진 어셈블리의 특정 버전에 대해 .NET Framework 응용 프로그램을 빌드할 때 응용 프로그램은 런타임에 해당 버전의 어셈블리를 사용합니다.그러나 최신 버전의 어셈블리에 대해 응용 프로그램을 실행하기를 원할 수도 있습니다."

언급URL : https://stackoverflow.com/questions/15056499/what-is-the-meaning-reason-for-the-generated-entries-in-web-configconfiguration