2014-03-05 12 views
0

NuGet을 사용하여 패키지 업데이트를 실행 한 후에 더 이상 응용 프로그램을 실행할 수 없습니다. 그것은 잘 구축하지만, 실행할 때 수신 :ServiceStack Redis NuGet 런타임의 종속성 버전 오류

Could not load file or assembly 'ServiceStack.Interfaces, Version=4.0.2.0, Culture=neutral, PublicKeyToken=e06fbc6124f57c43' or one of its dependencies. The system cannot find the file specified.

이 버전 번호가 잘못되는 결과 것 같다,하지만 난 방법이 문제를 해결하지 찾을 수 있습니다, 그 숫자는 모든 사용자에 표시되지 않는 편집 가능한 파일. 내 .csproj는 실제로 Version=4.0.0.0을 찾고 있습니다. 이 값을 변경해도 아무런 효과가 없습니다.

처음 ServiceStack.Redis를 설치했을 때 올바른 버전을 사용하기 위해 수동으로 .csproj 파일에서 참조를 수정해야했지만 이번에는 수정이 작동하지 않는 것으로 보입니다.

NuGet 사용법을 이해하지 못했거나이 패키지가 고장난 경우 어떻게 작동합니까?

편집 - packages.config :

<?xml version="1.0" encoding="utf-8"?> 
    <packages> 
     <package id="ServiceStack.Common" version="4.0.11" targetFramework="net40" /> 
     <package id="ServiceStack.Interfaces" version="4.0.11" targetFramework="net40" /> 
     <package id="ServiceStack.Redis" version="4.0.11" targetFramework="net40" /> 
     <package id="ServiceStack.Text" version="4.0.11" targetFramework="net40" /> 
    </packages> 
+1

모든 'ServiceStack. *'NuGet 패키지를 프로젝트에서 제거한 다음 다시 추가하십시오. 버전 불일치로 보입니다. 파일을 수동으로 변경하지 않아도됩니다. 그런 다음 깨끗하게하고 모두 다시 짓습니다. – Scott

+0

사실이 시도는 효과가없는 가장 먼저 시도한 것입니다. – Burstaholic

+0

'packages.config'를 게시 할 수 있습니까? – Scott

답변

0

당신은 더러운 DLL을 가지고 있고 깨끗하게 제거 모든 ServiceStack 패키지의 할 필요가있다. 즉

  • 는 NuGet /packages 폴더와 packages.config이
  • 당신의 앱 /의 Web.config
  • 에서 모든 어셈블리 바인딩 리디렉션를 제거 삭제 프로젝트
  • 에서 ServiceStack의 모든 DLL 참조를 제거 /bin/obj 폴더를 삭제하십시오.

그런 다음 깨끗한 슬레이트에서 시작하여 NuGet에서 패키지를 다시 설치하십시오.

+0

바인딩 리디렉션을 확인하여 문제를 해결했습니다. – Burstaholic