Mam serwer TeamCity skonfigurowany do budowania wielu rozwiązań, a następnie uruchamiam testy jednostek w nich za pomocą NUnit Test Runner.Mam testy jednostkowe, które przechodzą w NUnit GUI i Resharper, ale kończą się niepowodzeniem, gdy Team City je obsługuje.
To działa doskonale przez kilka miesięcy; Jednak z naszej najnowszej kompilacji Jestem napotyka się następujący błąd:
SetUp method failed. SetUp : System.IO.FileLoadException : Could not load file or assembly 'log4net, Version=1.2.13.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
zdarza się tylko dla jednego TestFixture który zawiera 9 testy spośród setek w całym systemie. Wszystkie testy przebiegają przy użyciu ReSharper lub GUI NUnit.
Pakiet Nuget ma prawidłowe odniesienie zarówno w testowanym projekcie, jak i samym projekcie testowym. Brak konieczności przekierowania wiązań zespołu wykonawczego, ponieważ tylko jedna wersja Log4Net została kiedykolwiek zainstalowana.
Czy ktoś inny miał podobny problem, który rozwiązał, lub jakiekolwiek pomysły na temat tego, czym może być problem? Dlaczego miałby działać lokalnie, a nie na serwerze, szczególnie biorąc pod uwagę te same testy, które przeszły wcześniej.
Wersje NUnit na moim lokalnym komputerze i serwerze TeamCity są takie same.
Komunikat o błędzie wskazuje, że masz złą wersję log4net, czy sprawdziłeś, czy ta część jest poprawna? –
Tak, oczywiście. Jak już wspomniałem, tylko jedna wersja pakietu Log4Net Nuget została zainstalowana, a po zbadaniu przy użyciu każdej formy odsyłaczy mogę pomyśleć, że jest to ta sama wersja. Buduje i testy przechodzą na miejscu, więc jestem prawie pewien, że nie jest to takie proste. – tker