2016-11-24 2 views
1

다소 이상한 문제가 있습니다. 솔루션에서 2 개의 프로젝트가 RestSharp (Mollie와 Plivo의 종속성)를 구현합니다. 그러나 둘 다 다른 너겟 패키지를 사용합니다. 하나는 서명 된 버전을 사용하고, 다른 하나는 정상 버전을 사용합니다. 정상적인 것을 가진 사람은 아무 문제없이 작동합니다. 서명 된 것을 사용하는 사람은 이상한 행동을합니다. 다음 오류가 나타납니다.Restsharp 참조의 버전 문제

'RestSharp, 버전 = 100.0.0.0, Culture = neutral, PublicKeyToken = **********'또는 그 종속성 중 하나를로드 할 수 없습니다. 찾은 어셈블리의 매니페스트 정의가 어셈블리 참조와 일치하지 않습니다. (HRESULT 예외 : 0x80131040)

참조의 속성으로 이동하면 올바른 폴더와 올바른 버전 (경로)의 파일을 참조하지만 참조 버전에서 100.0.0.0이라고 표시됩니다. 나는 이것을 바꿀 수 없다. 나는 .csproj를 시험해 보았는데, 0.0.0.0을 버전으로 보여 주었고, 참조가 package.config에서 발견되지 않았다.

나는 또한 패키지 디렉토리에있는 dll을 직접 참조하여 누겟에서 삭제했지만 운이 없다. 다시 100.0.0.0 버전으로 표시됩니다. 이 문제는 DLL과 관련된 문제입니까 아니면 문제입니까?

또한 개체 브라우저에서 2 개 버전 (plivo 설치된 하나 및 목화와 하나 ..)으로 표시되지만 참조

enter image description here

+0

soultion을 찾았습니까? – ocanal

+0

내 문제는 프로젝트 1에서 프로젝트 2를 호출했기 때문입니다. 프로젝트 1에는 RestSharp 패키지가 있지만 버전은 다릅니다. 디버깅이 프로젝트 2에 들어 왔을 때 이미 패키지를로드했음을 알았지 만 잘못된 버전이었습니다. 실제로 필요한 패키지를로드하기 위해 더 이상 보이지 않았습니다. 디버깅 할 때 모듈 창을보고 알게되었습니다. – Lonefish

답변

1
(restsharpsigned 대 Restsharp) 차이에 더 이상 없다

RestSharpSigned 버전은 RestSharp.dll이 Strong Name을 사용하여 100.0.0으로 지정 되었기 때문에 100.0.0으로 표시됩니다. 조립 정보를 확인하려면 NuGet Package Explorer으로 열 수 있습니다. enter image description here

그리고 내 프로젝트에 Mollie와 Plivo 패키지를 모두 설치했는데 모든 것이 잘 작동합니다. 문제는 솔루션과 관련이 있어야합니다.

사용자 지정 코드없이 새 솔루션을 만들고 새 프로젝트에 Plivo 패키지를 설치하십시오. 빌드가 성공적으로 완료되면 원래 프로젝트 파일을 새 프로젝트에 복사하십시오.이 파일은이 문제의 원인을 확인하는 데 도움이됩니다.

+0

문제가 해결 되었습니까? 그렇지 않은 경우 문제를 재현 할 수 있도록 문제에 대한 샘플 프로젝트를 공유하십시오. –

+0

이 문제가 있습니다. 나는 당신이 단지 새로운 프로젝트를 만들고 Build보다 mollie와 plivo 패키지를 설치하려고 시도했다고 생각합니다. 네, 모든 문제에 잘 맞습니다. OP와 내가받는 오류는 런타임 오류입니다. – ocanal