Czy tylko ja zainstalowałem aktualizację Windows Update (8.1) 15 października i nagle MVC przestaje działać z powodu tego ostrzeżenia?
Ostrzeżenie 1 Nie można rozwiązać tego odniesienia. Nie można zlokalizować zestawu „System.Web.Mvc, Version = 4.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35, processorArchitecture = MSIL”. Sprawdź, czy zestaw istnieje na dysku. Jeśli ten kod jest wymagany przez kod, mogą wystąpić błędy kompilacji.
Wygląda na to, że ta aktualizacja systemu Windows instaluje nowszą wersję MVC o numerze wersji 4.0.0.1 i usuwa starą wersję z folderu plików programu.
Ktoś wie, jak to naprawić bez indeksowania każdego projektu?
System.Web.MVC
nie kopiowane dobin
folderu od MS14-059Odpowiedzi:
Najlepszym rozwiązaniem jest aktualizacja DLL do wersji 4.0.0.1. Spróbuj użyć nuget:
Spowoduje to automatyczną aktualizację
Wystarczy ręcznie edytować wersję System.Web.Mvc w:
źródło
Musieliśmy ręcznie dotknąć każdego pliku .csproj, aby zaktualizować wersję z 4.0.0.0 do 4.0.0.1, aby nasze kompilacje działały . Dość ból.
Nowe referencje powinny wyglądać następująco:
źródło
Miał ten sam problem po aktualizacji:
Ale tylko dla projektu z odniesieniem do System.Web.Mvc, nie instalowanego przez pakiet.
Mój kolega, który nie zainstalował środowiska uruchomieniowego Microsoft ASP.NET MVC 4.0 i nie otrzymał aktualizacji, nie miał żadnych problemów i nadal miał odniesienie do 4.0.0.0, a nie do 4.0.0.1.
Ręcznie zmieniłem odniesienie na 4.0.0 . 1 , po zameldowaniu kolega mógł jeszcze zbudować z odwołaniem do 4.0.0. 0 .
(Działa zarówno na Win7 Pro SP1, VS2013 Pro Update 3)
źródło
Zobacz ten blog, zalecanym sposobem jest zaktualizowanie odpowiedniego pakietu NuGet:
Cytować:
źródło
Zobacz: Aktualizacja zabezpieczeń MS14-059 firmy Microsoft Asp.Net MVC zepsuła moją kompilację! MS pisało o tym na blogu, ponieważ oczywiście spowodowało to wiele zamieszania
źródło
W przypadku projektu internetowego może być konieczne zaktualizowanie konfiguracji również w pliku web.config:
źródło
Musisz zmienić wszystkie odwołania do System.Web.Mvc w swoim rozwiązaniu. Po prostu je usuń i dodaj nową wersję 4.0.0.1.
Również we właściwościach zmienią się
copy local
na true.W pliku web.config dodaj asambly binding, aby wskazać nową wersję mvc:
źródło
CopyLocal=true
nam nie pomogło; zobacz:System.Web.MVC
nie kopiowane dobin
folderu od MS14-059W porządku,
Dla mnie były to dwa proste kroki:
Najpierw zmieniłem wszystkie odwołania do System.Web.Mvc z 4.0.0.0 na 4.0.0.1,
Następnie musiałem przejść do właściwości System.Web.Mvc (prawdopodobnie dlatego, że usunąłem go i ponownie dodałem) i zmienić copy local na true.
Mam nadzieję, że to jest pomocne dla kogoś.
źródło
Jeśli nadal pojawia się ten sam błąd po wypróbowaniu rozwiązania @Krzysztof lub dowolnej z innych odpowiedzi powyżej, jednym obejściem, które może zadziałać, jest odinstalowanie MVC Runtime 4.0
źródło