Pracuję nad projektem MVC3 i pojawia się następujący błąd:
Komunikat o błędzie analizatora składni: Nie można załadować typu „GodsCreationTaxidermy.MvcApplication”.
Błąd źródła:
Linia 1:
<%@ Application Codebehind="Global.asax.cs" Inherits="GodsCreationTaxidermy.Core.MvcApplication" Language="C#" %>
Występujący błąd nie może załadować GodsCreationTaxidermy.Core.MvcApplication, ale na tym zrzucie ekranu część rdzenia nie wyświetla się w błędzie:
Czy ktoś ma jakieś pomysły lub rozwiązanie tego błędu?
asp.net
asp.net-mvc-3
PsychoCoder
źródło
źródło
Odpowiedzi:
Na lokalnym serwerze internetowym działa inny kod niż ten, nad którym aktualnie pracujesz. Upewnij się, że przestałeś debugować, zatrzymaj lokalny serwer internetowy, wyczyść i przebuduj zgodnie z sugestią Petera, dwukrotnie sprawdź global.asax i global.asax.cs i spróbuj ponownie.
Jeśli to nie działa i używasz lokalnych usług IIS, spróbuj usunąć witrynę w Menedżerze usług IIS i ponownie ją utworzyć ręcznie.
źródło
Sprawdź, czy ścieżka wyjściowa projektu (właściwości projektu / kompilacja) jest ustawiona na,
bin
czy nie,bin\Release
lubbin\Debug
Z jakiegoś powodu IIS (VS development Server lub Local IIS) zawsze uzyskuje dostęp do bibliotek z
bin
katalogu (i nie szuka podkatalogów)źródło
Spróbuj zmodyfikować plik global.asax (po prostu dodaj gdzieś spację) i uruchom ponownie. to zmusi wbudowany serwer WWW do odświeżenia i ponownej kompilacji pliku global.asax.
Zrób również czyszczenie i przebuduj - powinien rozwiązać problem
źródło
Zdarza się to czasami, jeśli zmienisz informacje o przestrzeni nazw (poziom projektu lub klasy) po
global.asax
wygenerowaniu.Kliknij prawym przyciskiem myszy
Global.asax
plik i wybierz „Otwórz za pomocą”, a następnie wybierz „Edytor XML (tekstowy) z kodowaniem” (inne edytory również mogą działać, ale tego używam).Następnie edytuj sekcję „Dziedziczy” w dyrektywie XML
tak, aby pasował do faktycznej pełnej nazwy klasy aplikacji. I to wszystko.
Inną opcją jest skopiowanie całego kodu z Global.asax.cs, a następnie usunięcie i utworzenie kolejnego pliku Global.asax (a następnie skopiowanie kodu z powrotem do Global.asax.cs).
źródło
Global.asax
plik zgodnie z tą odpowiedzią i dopasować go do ustawień konfiguracji projektu.Zamknąłem i ponownie otworzyłem studio wizualne i działało.
źródło
Musiałem przejść do BUILD -> CONFIGURATION MANAGER i - ahem - zaznacz pole obok mojego projektu, aby upewnić się, że rzeczywiście zostanie zbudowany.
źródło
Miałem dzisiaj ten problem i zajęło mi trochę czasu znalezienie przyczyny.
Zasadniczo moim głównym projektem VS2015 był podprojekt, który został zbudowany przy użyciu wyższej wersji .Net Framework.
Dziwnie, gdy masz ten problem, VS2015 z przyjemnością zgłosi, że rozwiązanie zostało poprawnie zbudowane, ale gdy spróbujesz uruchomić stronę internetową, po prostu daje ci to błąd wprowadzający w błąd, co sugeruje, że twój
Global.asax.cs
plik jest nieprawidłowy.Jeśli więc zobaczysz ten błąd, a czyszczenie / odbudowa nie pomoże, otwórz projekt
References
drzewo i sprawdź wykrzykniki.Sprawdź także
Output
oknie nie ma takich wiadomości:Rozwiązaniem jest oczywiście kliknięcie prawym przyciskiem myszy głównego projektu, wybranie górnej zakładki „Aplikacja” i zmiana wersji docelowej struktury na wyższą, pasującą do podprojektu.
To denerwujące, że Visual Studio 2015 pozwala w pełni budować i uruchamiać rozwiązania, które cicho zawierają ten problem. Prosi o kłopoty ...!
źródło
Możesz także sprawdzić właściwości swojej witryny w IIS. (W IIS kliknij prawym przyciskiem myszy witrynę i wybierz Właściwości.) Upewnij się, że ustawienie Ścieżka fizyczna wskazuje poprawną ścieżkę do aplikacji, a nie innej aplikacji. (To naprawiło dla mnie ten błąd.)
źródło
Właśnie spotkałem to w aplikacji MVC5 i nic nie działało dla mnie. Stało się to zaraz po tym, jak próbowałem przywrócić SVN do starszej wersji projektu.
Musiałem usunąć global.asax.cs, a następnie dodałem nowy, klikając prawym przyciskiem myszy Projekt -> Dodaj nowy element -> Global.asax i TO w końcu to naprawiłem.
Pomyślałem, że może komuś pomóc.
źródło
global.asax.cs
pliku „Build action” jest coś pomieszane . Powinien być ustawiony na „Kompiluj”. Działanie kompilacjiglobal.asax
samego pliku powinno być ustawione na „Treść”.Muszę zgłosić, że wypróbowałem co najmniej 4 sugestie z tego postu. Żaden z nich nie działał. Jednak z przyjemnością informuję, że odzyskałem, odzyskując dane z kopii zapasowej. Musiałem tylko zaktualizować moje ostatnie zmiany kodu z pliku dziennika. Zajęło to mniej niż 10 minut. Spędziłem 3 razy więcej niż czytając ten post i wypróbowując inne sugestie. Przepraszam.
To był bardzo dziwny błąd. Życzę powodzenia każdemu, kto spotka tego gremlina.
źródło
Mam ten sam problem, gdy mam 2 instancję programu Visual Studio z tym samym projektem. Więc zamknąłem zarówno Visual Studio, jak i otworzyłem tylko jedną instancję i teraz działa dobrze!
źródło
Pracowałem nad starszym projektem sieciowym ASP.NET opartym na folderach (którego nienawidzę) - i znalazłem to jako moją poprawkę:
Utwórz
App_Code
folder (jeśli jeszcze go nie masz)Przenieś
Global.asax.vb
plik doApp_Code
folderuZnaczniki w Global.asax mogą pomijać wszelkie przestrzenie nazw (przynajmniej dla tego stylu projektu, afaik):
... gdzie „MyApp” to nazwa klasy zdefiniowanej w Global.asax.vb
źródło
„BUDUJ -> KIEROWNIK KONFIGURACJI i - ahem - zaznacz pole obok mojego projektu, aby upewnić się, że rzeczywiście zostanie zbudowany.” Pomogło to i przejście do folderu projektu w Eksploratorze Windows, naciśnięcie opcji i odznaczenie pola wyboru „Tylko do odczytu”.
źródło
Opróżnij folder bin. Zbuduj wszystkie biblioteki klas zależnych i skieruj je do głównego projektu i skompiluj kompletne rozwiązanie.
Źródło
źródło
Ja też stanąłem przed tym samym problemem. Mimo podążania za każdą odpowiedzią nie zadziałało. Następnie zmieniłem „Inherits = namespace.class ” na „Inherits = w pełni kwalifikowana nazwa zestawu ”, tj. „Inherits = namespace.class, nazwa zestawu, Version =, Culture =, PublicKeyToken = ” Mam nadzieję, że to pomoże.
źródło
Może się to również zdarzyć, jeśli przypadkowo zapomnisz ustawić swoje rozwiązanie VS na „Wiele projektów startowych”, jeśli korzystasz z sieci i WebApi z tego samego rozwiązania.
Możesz to sprawdzić, klikając prawym przyciskiem myszy Rozwiązanie w Eksploratorze rozwiązań i wybierając „Właściwości”. Następnie wyszukaj „Projekty startowe”.
źródło
Usuń
.vs
katalog z katalogu głównego rozwiązania. Czysty. Odbudować.Ten problem raz na jakiś czas doprowadza mnie do szału i nieuchronnie kończę tutaj, szukając odpowiedzi. Podejrzewam, że istnieje wiele przyczyn, które mogą powodować ten wyjątek, który kiedyś dla mnie działa.
źródło
Tak, czytam wszystkie odpowiedzi. Jeśli jednak jesteś mną i wyciągasz wszystkie resztki włosów, spróbuj sprawdzić folder \ bin. Jak większość plików proj może mieć kilka konfiguracji zgrupowanych w elemencie XML
PropertyGroup
, więc zmieniłemOutputPath
wartość z „bin \ Debug”, aby usunąć część „\ Debug” i przebudować. Spowodowało to umieszczenie plików w folderze \ bin, umożliwiając Express IIS znalezienie i załadowanie kompilacji. Zastanawiam się, jaki jest właściwy sposób zarządzania tymi różnymi kompilacjami, aby lokalne wdrożenie debugowania mogło znaleźć i załadować środowisko docelowe.źródło
Ten problem został rozwiązany przez udzielenie odpowiedniego pozwolenia na folder, a także sprawdzenie z IIS.
Zezwolono mi wszystkim, gdy testuję w moim lokalnym środowisku. Ale w trybie publikowania myślę, że dajemy tylko uprawnienia użytkownikowi ASP.Net.
źródło
Otrzymałem również ten sam błąd ... sprawdź nazwę poprawnie opracowanej aplikacji, tj. przydzielona przestrzeń nazw i nazwa zestawu, a także spróbuj fizycznie zmienić nazwę folderu utworzonego dla aplikacji, wszystko to powinno być takie samo jak nazwa w powyższej przestrzeni nazw obecnej w pliku global.asax
źródło
Wystąpił również ten sam błąd ... sprawdź konfigurację IIS katalogu wirtualnego i upewnij się, że Właściwości - ASP.NET - Wersja ASP.NET jest taka sama jak Właściwości projektu - Aplikacja - Struktura docelowa. (To naprawiło dla mnie ten błąd.)
źródło
Moja aplikacja została zbudowana w starszej wersji VS i nie miała folderu bin. Uaktualniłem go do nowszej wersji i koszmar zmusił go do wdrożenia. W końcu wyśledziłem ten błąd do Projekt> Właściwości> Aplikacja. Ramy docelowe zostały ustawione na 2.0; zmiana go na serwerze w celu dopasowania w Menedżerze usług IIS / puli aplikacji rozwiązała dla mnie problem.
źródło
Przekonałem się, że zmiana przestrzeni nazw w projekcie bez zmiany faktury w całym rozwiązaniu była moim problemem. Sprawdź właściwości projektu i zobacz, jaka jest twoja przestrzeń nazw, upewnij się, że linie są wyrównane.
źródło
Problem polega na tym, że nie uwzględniłem global.asax.cs w moim projekcie. A ponieważ kopiowałem pliki z .net 4.5 do 4.0, nie skomentowałem wierszy, które nie są potrzebne w 4.0. Ponieważ nie zostało uwzględnione, studio wizualne i tak go skompilowało bez problemów. Ale kiedy go załączyłem, podświetliło linie, które powodują problemy.
źródło
Spędziłem dosłownie dzień, próbując rozwiązać ten problem.
Jedyne, co działało, to usunięcie pliku .sln, utworzenie nowego i ponowne dodanie projektów jeden po drugim.
¯ \ _ (ツ) _ / ¯ - Programowanie - ¯ \ _ (ツ) _ / ¯
źródło
W moim przypadku zestaw WWW był częścią GAC ... więc po kompilacji trzeba go zainstalować w GAC i działał.
źródło
Napotkałem ten komunikat o błędzie i ostatecznie odkryłem, że komunikat o błędzie był mylący. W moim przypadku wydaje się, że w usługach IIS wystąpił problem z routingiem, który spowodował odczytanie pliku global.asax z innej witryny na serwerze WWW, co spowodowało błąd.
W IIS moja witryna była powiązana z http: * 80: webservices.local i zawierała aplikację o nazwie MyAPI. Otrzymałem przerażającą wiadomość, gdy dzwonię do aplikacji MyAPI przy użyciu adresu IP serwera WWW.
Aby pomyślnie wywołać moją aplikację, musiałem dodać pozycję pliku hosta dla webservices.local na wszystkich komputerach, które wywołały aplikację MyAPI. Następnie wszystkie moje żądania musiały być poprzedzone http: //webservices.local/MyAPI/ , aby poprawnie trasować .
źródło
Próbowałem absolutnie wszystkiego tutaj i nic nie działało. Mój projekt był w VS 2013. Od tego czasu zaktualizowałem do VS 2015 i w 2015 roku tworzyłem wszystkie moje nowe aplikacje, ale ładowałem, kompilowałem, budowałem itd. Wszystkie moje stare aplikacje, które zostały zbudowane w 2013 w tej wersji.
Skończyłem właśnie ładowanie rozwiązania w 2015 roku i to rozwiązało dla mnie.
źródło
W tej sprawie spędziłem wiele dni. W końcu udało mi się to rozwiązać za pomocą następującej kombinacji sugestii z tego postu.
bin\
zamiastbin\x64\Debug
. Próbowałem tego już kilka razy, zanim zmieniłem cel platformy. Nigdy nie zrobił żadnej różnicy poza otrzymaniem błędu, że nie udało się załadować zestawu z powodu nieprawidłowego formatu.Żeby było jasne, musiałem zrobić oba z nich, zanim zacznie działać. Wielokrotnie próbowałem ich indywidualnie, ale nigdy tego nie naprawiłem, dopóki nie zrobiłem obu.
Jeśli zmienię jedno z tych ustawień z powrotem na oryginalne, ponownie otrzymuję ten sam błąd, pomimo uruchomienia Clean Solution i ręcznego usunięcia wszystkiego z
bin
katalogu.źródło
Dwa sposoby na uzyskanie tego:
Menedżer konfiguracji pokazuje kompilacje dll jako połączenie kompilacji „64” i „dowolnych procesorów”. Umieszczenie ich wszystkich w tej samej kompilacji naprawia to.
Podczas przełączania między gałęziami ścieżka ekspresowa IIS czasami nie jest aktualizowana. Kliknij prawym przyciskiem myszy „IIS Express” na pasku zadań> Pokaż wszystkie aplikacje i sprawdź, czy ścieżka prowadzi do właściwej gałęzi.
źródło