Napotkał mnie konflikt różnych wersji zależności. Jak sobie z tym poradziłem?


8 kwietnia 2017 / Michał Kortas


Podczas mojego pierwszego, testowego wdrożenia aplikacji do Azure napotkały mnie ostrzeżenia dotyczące konfliktu różnych wersji zależności. Odpalając todo.team lokalnie w zasadzie je ignorowałem. Przy kompilowaniu rozwiązania już w Azure zaczął robić się problem. Oprócz jasno brzmiącej regułki nie miałem żadnego odniesienia do powodującej konflikt referencji. Przeklikiwanie przez wszystkie to strata czasu. Jak więc sobie poradziłem z tym tematem?

źródło: paczaizm.pl

źródło: paczaizm.pl

Found conflicts between different versions of the same dependent assembly that could not be resolved. These reference conflicts are listed in the build log when log verbosity is set to detailed.

No dobrze, skoro komunikat mówi, że konflikt referencji został wymieniony w logu tworzonym podczas builda, tam też się udałem. Uprzednio jednak należało go przestawić na widok szczegółowy. Zrobiłem to przechodząc w menu Narzędzia do pozycji Opcje….

Poziom szczegółowości dziennika kompilacji MSBulid

Poziom szczegółowości dziennika kompilacji MSBulid

Skompilowałem ponownie całe rozwiązanie i przeszedłem do konsoli Danych Wyjściowych.

Uhhh… ściana tekstu. No ale dobrze, skoro to konflikt, przeszukam go pod kątem wyrazu „conflict”. Poszło gładko, szybciej niż się spodziewałem.There was a conflict between “System.Net.Http, Version=4.0.0.0 (…) and “System.Net.Http, Version=2.0.0.0

Nie wiedzieć więc czemu zainstalowałem sobie referencje w dwóch projektach, w zupełnie innych wersjach. Przejrzałem listę referencji dwóch projektów, które tworzą moje rozwiązanie i faktycznie – okazało się, że System.Net.Http widnieje na obu.

Lista referencji w projekcie

Lista referencji w projekcie

Wybrałem starszą wersję i ją po prostu skasowałem. Żeby nie było luki, dodałem usuniętą referencję raz jeszcze, tym razem w poprawnie.

Dodawanie referencji do projektu

Dodawanie referencji do projektu

Jeszcze jedna kompilacja i błędy zniknęły, deploy do Azure się udał.

Jeszcze jedno…

Być może zainteresował Cię wątek wdrożenia do Azure. Robiłem to pierwszy raz, kiedy tylko bardziej rozeznam się w działaniu portalu Microsoft Azure na pewno napiszę do tego kilka postów na blogu.

Zachęcam do śledzenia moich dalszych postępów w konkursie #dajsiepoznac. Poniżej znajdziesz garść przydatnych ku temu linków.


Tagi:


Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.