5

나는 왜 이것을 이해할 수 없는지 모르겠다. DLL을 강하게 명명하고 있습니다. 여기에 무슨 일이 일어나고 있는지의 :Azure 웹 배포시이 System.Web.Helpers 불일치를 어떻게 해결할 수 있습니까?

  • I는 MVC4 사이트 내가 뭔가를 작동
  • Microsoft.Web.Helpers 라이브러리의 Gravatar에 면도기 도우미를 사용하려고 시도하고있어 .NET 4.0

  • 대상으로 만들기 위해 비주얼 스튜디오 2012 RC를 사용하고 있습니다 내 컴퓨터에서 Git을 통해 Azure에 배포 한 후 Gravatar 도우미 호출시 다음 예외가 발생합니다.

    파일 또는 어셈블리 'System.Web.Helpers, Version = 2.0.0.0, Culture = neutral을로드 할 수 없습니다. PublicKeyToken = 31bf3856ad364e35 '또는 그 종속성 중 하나. 시스템이 지정된 파일을 찾을 수 없습니다.

내가 내 푸른 사이트와 내가 타겟팅있어 호스팅있어 어떤의 GAC에 설치 System.Web.Helpers의 버전 사이에 불일치가있어 보인다. 여기

내가 무엇을 시도했다입니다 :

  • 로컬 복사 = 사실
  • 내 자신의 _bin_deployableAssemblies 폴더를 해킹, 메뉴 옵션에서 확장 된 조립 정보를 제거 Phil Haack's blog
  • 에 설명 누락 된 것으로 보이기 때문에 System.Web.Helpers 용 .csproj 파일

또한 다음과 같은 어셈블리 바인딩 리디렉션이 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> 
     ... 
</runtime> 

누구나 ??

+0

실제로 확인하기 위해 체크하는 .DLL 필터가 • 당신이 대답을 시도 되세요 이하? 이걸로 당신을 도와주고 싶습니다. –

답변

3

copylocal = true를 시도했지만 어셈블리가 서버에 배포되고 있다고 확신하셨습니까?

잠재적 인 문제 :

.gitignore이

내가 서버에 FTP 및 어셈블리가 bin 디렉토리

+0

+1을 수락합니다. FTP 작업 (제가 당신이 할 수 있다는 것을 깨닫지 못했습니다)은 문제를 일으켰습니다 (로컬 복사는 2.0.xxx가 아닌 1.0.xxx였던 배포 서버의 어셈블리를 복사하는 것입니다). 또한 _bin_deployableAssembly 폴더에'System.Web.Helpers' 대신에'Microsoft.Web.Helpers'가 있다는 것을 깨달았습니다. 일단 해당 폴더에 올바른 어셈블리를 추가하면 모든 것이 잘 동작합니다. –