2016-01-22 13 views
15

Mam duże rozwiązanie z 30 projektami, z których 2 to projekty internetowe (MVC i WebAPI) z wieloma projektami bibliotek klasy tła.Budowanie jednego projektu WWW łamie skompilowaną wersję drugiego w rozwiązaniu

Mam studio graficzne przygotowane do obsługi projektów internetowych w usługach IIS.

Jeśli wykonuję czystą kompilację, po której następuje pełna kompilacja całego rozwiązania, wówczas dostęp do obu projektów przez przeglądarkę działa dobrze. (są w folderach diff i hostowane na domenach diff w iis)

Jeśli dokonam zmian w KODACH, po prostu odbuduj jeden z 2 projektów internetowych, INNY przestanie działać.

Aby było jasne, przebudowanie projektu WebAPI powoduje, że projekt MVC zawiera błędy. I wzajemnie.

Pojawia się błąd mówiący, że System.Web.Http.Formatter nie został znaleziony. Szczegóły mówią, że zlokalizowana wersja zespołu różni się od wersji referencyjnej. Sprawdzanie folderu bin pokazuje, że tak nie jest.

+0

Czy możesz podać dokładny błąd w szczegółach. Także jeśli VS mówi, że te odniesienia mają inną wersję, możesz być tego pewien. Czy hostujesz te api i aplikacje mvc w tej samej witrynie w IIS? – efaruk

+1

Miałem podobne problemy z konfliktami wersji MVC 3.0.0.0 i 3.0.0.1, może jest to powiązane? –

+0

Na początek, jakiej wersji MVC używasz? Jakie inne pakiety zależą od twoich projektów? – Eniola

Odpowiedz

8

Upewnij się, że wszystkie zasoby rozwiązania są aktualne. Jeśli używasz Nuget, zaktualizuj wszystkie pakiety we wszystkich projektach (najpierw wykonaj kopię zapasową!). Wygląda na to, że masz niedopasowanie wersji, w którym brakuje funkcji w plikach DLL skopiowanych do katalogu wyjściowego rozwiązania. Może się to wiązać ze zmianą niektórych wpisów w pliku Web.config każdego projektu, ale bez dostępu do kodu, trudno o tym wiedzieć.

Po zaktualizowaniu każdej biblioteki należy się upewnić, że wersje są zgodne we wszystkich projektach rozwiązania.

+1

Dziękuję za odpowiedź, jestem z dala od komputera w tej chwili, zrobię to jutro rano i udzielę informacji zwrotnej. – user230910

+1

Jeszcze jedno, upewnij się, że sprawdzisz kolejność budowania. Jeśli twoje projekty MVC i WebAPI są ze sobą powiązane, musisz najpierw zbudować projekt zależny w kolejności budowania. Powinien być ustawiony automatycznie, ale w tak dużym rozwiązaniu wszystko może pójść nie tak. Rozważ podzielenie swojego rozwiązania na mniejsze porcje, aby zwiększyć wydajność. Twój folder wyjściowy musi być bardzo zatkany. – Apache

+0

Dodatkowo, jeśli używasz NuGet, upewnij się, że zainstalowane wersje pakietów, które używasz są takie same dla obu projektów. – Steve