Mam trochę dziwny problem.
Opracowałem aplikację z MVC 4 i nowym interfejsem API sieci Web i działa dobrze lokalnie. Zainstalowałem MVC4 na serwerze i wdrożyłem aplikację. Teraz pojawia się następujący błąd:
Nie można załadować pliku lub zestawu „System.Net.Http, Version = 2.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35” lub jednej z jego zależności. Definicja manifestu zlokalizowanego zestawu nie jest zgodna z odwołaniem do zestawu. (Wyjątek od HRESULT: 0x80131040)
Opis: wystąpił nieobsługiwany wyjątek podczas wykonywania bieżącego żądania internetowego. Przejrzyj ślad stosu, aby uzyskać więcej informacji na temat błędu i miejsca jego powstania
Co zabawne, wersja System.Net.Http, którą mam lokalnie w folderze z pakietami lub w folderze ASP.NET MVC 4 \ Assemblies, to 1.0.0.0. W rzeczywistości usunąłem odwołanie do System.Net.Http z mojego projektu, ale nadal otrzymuję ten sam komunikat. Jestem trochę zdezorientowany, skąd bierze odniesienie 2.0.0.0 i dlaczego miałoby działać lokalnie, ale nie na serwerze.
Patrząc na zależności nuget:
ASP.NET WEb API Core Libraries (Beta) zależy od System.Net.Http.Formatting.
A System.Net.Http.Formatting zależy od System.Net.Http.
Myślę, że stąd to się bierze. Ale mam zainstalowaną wersję 2.0.20126.16343 tego pakietu, po prostu dll w środku ma wersję 1.0.0.0
Czy coś mi brakuje?
AKTUALIZACJA:
Jest to aplikacja podrzędna innej aplikacji ASP.NET, ale ta druga nadal jest oparta na formularzach internetowych. Więc coś się psuje. Ale jeśli wyczyszczę sekcję zespołu w pliku web.config, jeśli nawet nie znajdę już samej aplikacji.