2013-03-18 15 views
6

Mam działanie kompilacji, które odzwierciedla jedną z naszych bibliotek, aby porównać ją z definicją domeny. Podczas refleksji, gdy staram się odzwierciedlić Uri powraca jako RunTimePropertyInfo zamiast Uri i gdy sprawdzam każdy odbitych właściwości uzyskać wyjątek informujący ...Odzwierciedlając starszą wersję pliku System.dll

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

Aktywność build jest skompilowany z System.dll wersja 4.0.0.0. Podejrzewam, że to jest problem. Czy istnieje sposób, aby odzwierciedlić typ na starszą wersję System.dll.

Do tej pory nie udało się tylko z Uri. Jakieś pomysły?

+0

Próbowałem ponownie wskazać moją akcję kompilacji na ten sam system.dll, ale to nie miało żadnego wpływu. Warto zauważyć, że wersja pliku System.dll, którą odzwierciedla biblioteka, pochodzi z biblioteki przenośnej .net 4. – Robert

+1

Miksujesz ramowe cele, które nigdy nie działają dobrze. 2.0.5.0 to numer wersji Silverlight. –

Odpowiedz

0

Myślę, że jest problem z wersjonowaniem, jeśli używasz innej wersji biblioteki DLL, która jest używana w projekcie w takim przypadku, taki błąd może mieć miejsce.

Oto jedno proste rozwiązanie, które zadziałało dla mnie w przeszłości, będzie działać dla Ciebie, jeśli wystąpi ten sam problem. możesz użyć znacznika "bindingRedirect" w web.config, definiując starą i nową wersję problematycznej biblioteki dll. oznacza to, że zignoruje starszą wersję odwołania do biblioteki dll i użyje nowszej wersji, jeśli zostanie znaleziona i nie wygeneruje błędu.

tu jest link referencyjny. http://msdn.microsoft.com/en-us/library/eftw1fys%28v=vs.71%29.aspx

+0

Dzięki, spróbowałem twojej sugestii, ale to nie pomogło. Sądzę, że to, czego potrzebuję, to odebrać starą bibliotekę dll, gdy nie odzwierciedla ona nowej. – Robert

+0

Czy możesz skopiować swój kod tutaj, co napisałeś w web.config? musi działać, jeśli problem dotyczy tylko wersji –

+0

Może być nie tylko powiązany z wersją. Dzieje się tak tylko w przypadku jednego typu danych "Uri". Zamierzam po prostu umieścić element w moim dzienniku i pomijam go, kiedy się pojawi. Zaspokoi nasze potrzeby. Mimo wszystko, dziękuję za twoją pomoc. – Robert

Powiązane problemy