ASP.Net MVC3 보안 업그레이드로 3.0.0.0에서 3.0.0.1로 프로그램 세트 변경

2246 단어 mvc
지금까지 MVC3 응용 프로그램을 개발하여 배치할 때 편의를 위해 사용자 환경에 MVC3를 설치하지 않고 사용된 몇 개의assembly를bin에 직접 배치했다. 이는 다음과 같다.
  • Microsoft.Web.Infrastructure.dll
  • System.Web.Helpers.dll
  • System.Web.MVC.dll
  • System.Web.WebPages.Deployment.dll
  • System.Web.WebPages.dll
  • System.Web.WebPages.Razor.dll

  • 최근에 시스템이 업그레이드되었는데 사이트를 이렇게 배치했을 때 사용하기 불편한 것을 발견하고 오류를 보고했다.
    Compiler Error Message: CS1705: Assembly 'TestUnsafe, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' uses 'System.Web.Mvc, Version=3.0.0.1, Culture=neutral, PublicKeyToken=31bf3856ad364e35' which has a higher version than referenced assembly 'System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'
    발견했어?System.Web.MVC의 버전 요구는 3.0.0.1이고bin에 놓인 것은 여전히 3.0.0.0이어서 뛸 수 없을 것이다.OK, 새 프로그램으로 옮겨서 시스템.Web.MVC.dll 3.0.0.1 버전을 올렸는데 여전히 뛸 수가 없어요.
    Parser Error Message: Could not load file or assembly 'System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
    Web 때문이야.config가 업데이트되지 않았기 때문에 다음 줄을 찾습니다.
      <runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
          <dependentAssembly>
            <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
            <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="3.0.0.0" />
          </dependentAssembly>
        </assemblyBinding>
      </runtime>

    oldVersion 및 newVersion을 다음과 같이 조정합니다.
      <runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
          <dependentAssembly>
            <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
            <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.1" />
          </dependentAssembly>
        </assemblyBinding>
      </runtime>

    봤어?구 버전의 MVC를 3.0.0.1 버전으로 통일적으로 비추다.사이트를 다시 방문하면 모든 것이 정상이다.

    좋은 웹페이지 즐겨찾기