2013-03-18 10 views
6

도메인 정의와 비교하기 위해 라이브러리 중 하나를 반영하는 빌드 활동이 있습니다. 빌드 활동이 System.dll을 컴파일System.dll의 이전 버전을 반영합니다.

"Could not load file or assembly 'System, Version=2.0.5.0, culture=neutral, publickeytoken=7cec85d7bea7798e, retargetable=yes" 

내가 대신 열린 우리당의 RunTimePropertyInfo로 반환 할 때마다 나는라는 예외가 반사 된 등록 정보를 확인 열린 우리당을 반영하려고 할 때마다 반사, ...시 버전 4.0.0.0. 나는 이것이 문제라고 생각한다. System.dll의 이전 버전에서 형식을 반영 할 수있는 방법이 있습니까?

지금까지 이것은 Uri와 만 실패했습니다. 어떤 아이디어?

+0

동일한 system.dll에 대해 빌드 작업을 다시 시도했지만 아무런 영향이 없었습니다. 반영 할 라이브러리의 System.dll 버전이 .net 4 휴대용 라이브러리에 있음을 알게되었습니다. – Robert

+1

잘 작동하지 않는 프레임 워크 목표를 혼합하고 있습니다. 2.0.5.0은 Silverlight 버전 번호입니다. –

답변

0

버전 관리 문제가 있다고 생각합니다.이 경우 프로젝트에서 사용되는 dll의 다른 버전을 사용하면 이러한 오류가 발생할 수 있습니다.

여기에 과거에 저에게 도움이되었던 간단한 해결책이 있습니다. 동일한 문제가있는 경우, 당신에게 도움이 될 것입니다. 문제가있는 dll의 이전 버전과 새 버전을 정의하여 web.config에서 "bindingRedirect"태그를 사용할 수 있습니다. 그래서 그것은 dll 참조의 이전 버전을 무시하고 found.and 오류를 생성하지 않으면 더 새로운 버전을 사용합니다 것을 의미합니다. 여기

는 기준 링크이다. 바란대로 코어 라이브러리의 이전 버전을로드 할 수 없습니다, 그래서 당신은 IKVM.Reflection 같은 것을 사용할 필요가 http://msdn.microsoft.com/en-us/library/eftw1fys%28v=vs.71%29.aspx

+0

감사합니다. 귀하의 제안을 시도했지만 도움이되지 않았습니다. 내가해야 할 일은 새로운 DLL을 반영 할 때 오래된 DLL을 선택하는 것입니다. – Robert

+0

web.config에서 작성한 코드를 여기에 복사 할 수 있습니까? 문제가 버전에만 관련되어 있으면 작동해야합니다. –

+0

버전과 관련이있을 수 있습니다. 이는 하나의 데이터 유형 'Uri'에서만 발생합니다. 나는 이것을 위해 내 로그에 아이템을 놓고 그것이 발생하면 건너 뛸 것이다. 그것은 우리의 필요를 충족시킬 것입니다. 어쨌든 당신의 도움에 감사드립니다. – Robert

관련 문제