Mam taki problem na serwerze
[A] System.Web.WebPages.Razor.Configuration.HostSection nie może zostać przesłany do [B] System.Web.WebPages.Razor.Configuration.HostSection. Typ A pochodzi z „System.Web.WebPages.Razor, Version = 2.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35” w kontekście „Default” w lokalizacji „C: \ Windows \ Microsoft.Net \ assembly \ GAC_MSIL \ System .Web.WebPages.Razor \ v4.0_2.0.0.0__31bf3856ad364e35 \ System.Web.WebPages.Razor.dll '. Typ B pochodzi z „System.Web.WebPages.Razor, Version = 1.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35” w kontekście „Default” w lokalizacji „C: \ Windows \ Microsoft.Net \ assembly \ GAC_MSIL \ System .Web.WebPages.Razor \ v4.0_1.0.0.0__31bf3856ad364e35 \ System.Web.WebPages.Razor.dll '.
Opis: wystąpił nieobsługiwany wyjątek podczas wykonywania bieżącego żądania internetowego. Zapoznaj się ze śladami stosu, aby uzyskać więcej informacji o błędzie i miejscu jego powstania w kodzie.
Szczegóły wyjątku: System.InvalidCastException: [A] System.Web.WebPages.Razor.Configuration.HostSection nie może zostać przesłany do [B] System.Web.WebPages.Razor.Configuration.HostSection. Typ A pochodzi z „System.Web.WebPages.Razor, Version = 2.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35” w kontekście „Default” w lokalizacji „C: \ Windows \ Microsoft.Net \ assembly \ GAC_MSIL \ System .Web.WebPages.Razor \ v4.0_2.0.0.0__31bf3856ad364e35 \ System.Web.WebPages.Razor.dll '. Typ B pochodzi z „System.Web.WebPages.Razor, Version = 1.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35” w kontekście „Default” w lokalizacji „C: \ Windows \ Microsoft.Net \ assembly \ GAC_MSIL \ System .Web.WebPages.Razor \ v4.0_1.0.0.0__31bf3856ad364e35 \ System.Web.WebPages.Razor.dll '.
Błąd źródła:
Zainstalowałem MVC 3 na serwerze i na moim komputerze. Próbowałem zastąpić go 15-dniowym kodem źródłowym, ale istnieje ten sam problem.
teraz chcę to rozwiązać. Czy ktoś wie, jak mogę to naprawić.
źródło
Odpowiedzi:
W katalogu głównym Web.config upewnij się, że assemblyBinding zawiera poprawną wersję zestawu „System.Web.WebPages.Razor” i „System.Web.Mvc”. Sprawdź ich rzeczywiste istnienie, a także brak tagu zespołu „System.Web.WebPages.Razor”, co powoduje błąd. W czasie pisania tego tekstu moje wersje zestawu były ustawione na odpowiednio 3,0 i 5,0 z pełnymi aktualizacjami NuGet. Kod powinien wyglądać jak poniżej. PublicKeyToken pozostanie niezmieniony między wersjami. Twoje zdrowie!
źródło
Mój przypadek przechodził z wersji mvc4 na mvc5.
Upewniłem się, że moje odwołania są zsynchronizowane (z nowo utworzoną aplikacją mvc5), odpowiednio zaktualizowałem plik web.config i nadal nie działał. W końcu zadziałało, kiedy zmieniłem plik web.config ( katalog INSIDE THE VIEWS ) z:
Do tego:
PAMIĘTAJ: zatrzymaj iis (ekspresowy lub natywny), wyczyść rozwiązanie, zbuduj i uruchom.
źródło
Na wypadek, gdyby odpowiedź iana nie była wystarczająca (a zespoły są poprawne, ale rzutowanie jest nadal błędne), prawdopodobnie nie zaktualizowałeś jeszcze,
<configSections>
aby odzwierciedlić nowy zespół. upewnij się, że część zestawu odwołuje się również do wersji 3.0System.Web.WebPages.Razor
biblioteki. na przykład(Zauważ, że wszystkie odnoszą się
version=3.0.0
teraz)źródło
Rozwiązanie Iana działało w jednym projekcie, ale w przypadku innych potrzebuję pełniejszych informacji w artykule Jak uaktualnić do MVC 5 i Web API 2
źródło
Ten problem jest bardzo powszechny, gdy tworzysz dla MVC 4, a następnie nagle instalujesz pakiet, który jest dostępny w nowszej wersji, więc psuje całą aplikację.
Jedynym rozwiązaniem takiego problemu jest aktualizacja całej aplikacji do nowszej lub zainstalowanie starego pakietu zgodnego z Twoją aplikacją
źródło
Problem:
Identyfikacja:
Błąd dotyczy pliku konfiguracyjnego, tj. Web.config twojego projektu.
Tutaj znajdziesz, że wersja Razor jest ustawiona na 2.0.0.0, gdzie wersja 2.0.0.0 projektu nie jest dostępna.
Rozwiązanie:
To proste, po prostu zmień wersję z 2.0.0.0 na 3.0.0.0 i zrobi magię.
Nie musisz umieszczać przekierowania ani tak, ponieważ może to skomplikować sprawę.
źródło
Znalazłem problem i rozwiązanie.
1 Skieruję mój kod na 4.0, a następnie wgrywam kod i wszystko działa. Wcześniej zaktualizuję również mój kod do asp.net MVC 4.
teraz to działa :)
źródło
Otwórz lokalizację dwóch plików dll w systemie, skopiuj jedną bibliotekę dll w lokalizacji pliku do drugiej
i spróbuj uruchomić projekt.
źródło
Innym sposobem rozwiązania tego problemu bez konieczności aktualizowania odniesień jest to
źródło