Moja nowa aplikacja internetowa ASP.NET MVC działa na mojej stacji roboczej, ale nie działa na moim serwerze internetowym ...
Błąd serwera w aplikacji „/”.
Błąd konfiguracji
Opis: Wystąpił błąd podczas przetwarzania pliku konfiguracyjnego wymaganego do obsługi tego żądania. Sprawdź szczegółowe informacje o błędzie poniżej i odpowiednio zmodyfikuj plik konfiguracyjny.
Komunikat o błędzie analizatora składni: Nie można załadować pliku lub zestawu „System.Web.Mvc, wersja = 1.0.0.0, Kultura = neutralny, PublicKeyToken = 31bf3856ad364e35” lub jednej z jego zależności. System nie może odnaleźć określonego pliku.
Błąd źródła:
Line 44: <add assembly="System.Web.Abstractions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
Line 45: <add assembly="System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
Line 46: <add assembly="System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
Line 47: <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
Line 48: <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
Plik źródłowy: C: \ inetpub \ www.example.org \ web.config Linia: 46
Śledzenie ładowania zestawu : Poniższe informacje mogą być pomocne w ustaleniu, dlaczego nie można załadować zestawu „System.Web.Mvc, wersja = 1.0.0.0, Kultura = neutralny, PublicKeyToken = 31bf3856ad364e35”.
WRN: Rejestrowanie powiązania zestawu jest wyłączone. Aby włączyć rejestrowanie niepowodzenia powiązania zestawu, ustaw wartość rejestru [HKLM \ Software \ Microsoft \ Fusion! EnableLog] (DWORD) na 1. Uwaga: Z rejestrowaniem błędów powiązania zestawu wiąże się pewna utrata wydajności. Aby wyłączyć tę funkcję, usuń wartość rejestru [HKLM \ Software \ Microsoft \ Fusion! EnableLog].
Informacje o wersji: Microsoft .NET Framework Wersja: 2.0.50727.3053; Wersja ASP.NET: 2.0.50727.3053
Czy muszę zainstalować AspNetMVCBeta-setup.msi na serwerze? Czy istnieje inny instalator dla serwerów?
źródło
Natknąłem się na ten sam problem co sgriffinusa. Oprócz odniesień artykuł Phila sugeruje: http://www.haacked.com/archive/2008/11/03/bin-deploy-aspnetmvc.aspx . Dodałem te:
Wdrażanie Godaddy działało idealnie. Wyłącz niestandardowe błędy i dodaj odniesienia, aby je poprawić. To powinno poprowadzić cię we właściwym kierunku.
źródło
Jedną z opcji jest instalacja MVC bezpośrednio na serwerze sieciowym, ponieważ wtedy zespoły zostaną zainstalowane w GAC. Możesz także bin wdrożyć zestawy, co może pomóc w utrzymaniu serwera z dala od zestawów przedpremierowych, dopóki nie będzie dostępna wersja ostateczna.
Phil Haack opublikował kilka dni temu fajny artykuł na temat wdrażania MVC wraz z aplikacją, więc nie trzeba instalować bezpośrednio:
http://www.haacked.com/archive/2008/11/03/bin-deploy-aspnetmvc.aspx
źródło
Natknąłem się na ten sam problem, próbując wdrożyć moją aplikację internetową MVC3 Razor na współdzielonym hostingu GoDaddy. Istnieje kilka dodatkowych plików DLL, do których należy się odwoływać. Szczegóły tutaj: http://paulmason.biz/?p=108
Zasadniczo musisz dodać odniesienia do poniższych, oprócz tych wymienionych w poście @ Haacked, i ustawić je do wdrażania lokalnego zgodnie z opisem.
źródło
W VS2010 kliknij prawym przyciskiem myszy projekt w Eksploratorze rozwiązań i wybierz „Dodaj możliwe do wdrożenia zależności”. Następnie zaznacz pola wyboru związane z MVC w następującym oknie dialogowym.
Spowoduje to utworzenie folderu „_bin_deployableAssemblies” w projekcie, który zawiera wszystkie pliki .dll wymienione w innych odpowiedziach. Sądzę, że zostaną one skopiowane do folderu bin podczas tworzenia pakietu wdrażania.
źródło
Prosta poprawka. W VS2010 kliknij prawym przyciskiem myszy projekt MVC, wybierz „Dodaj zależne od wdrożenia ...”, wybierz żądane opcje i kliknij OK
źródło
Szybkie i proste rozwiązanie: napotkałem ten problem z Microsoft.AspNet.Mvc -Version 5.2.3 i po przejściu przez wszystkie te wątki znalazłem najprostsze rozwiązanie.
Wystarczy wykonać następujące kroki:
To automatycznie naprawi wszystkie problemy z referencjami. Zobacz zdjęcie poniżej:
źródło
Miałem ten sam problem i dodałem cały zespół, który powiedzieli, ale nadal otrzymywał ten sam błąd.
okazuje się, że trzeba ustawić „ Określoną wersję ” = False.
źródło
Chcemy go dodać, ponieważ tworzymy bibliotekę klas, która z niego korzysta.
Dla mnie jest tutaj ...
C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 4\Assemblies
źródło
Jeśli NIE korzystasz z dostawcy hostingu i masz dostęp do serwera, aby zainstalować ... Następnie zainstaluj narzędzia aktualizacji MVC 3, zrób to ... pozwoli to zaoszczędzić godziny problemów na serwerze z systemem Windows 2003 / IIS6. , Skomentowałem tutaj tę niezgodność numeru wersji Nuget.Core.dll
źródło
Oprócz postu Haack, Hanselman ma również podobny post. BIN Wdrażanie ASP.NET MVC 3 z Razor na Windows Server bez zainstalowanego MVC
Dla mnie rozwiązanie „Kopiuj lokalnie = prawda” było niewystarczające, ponieważ odniesienia do projektu mojej witryny nie obejmowały wszystkich brakujących bibliotek dll. Jak Scott wspomina w swoim poście, musiałem również uzyskać dodatkowe biblioteki DLL z następującego folderu na moim polu programistycznym: C: \ Program Files (x86) \ Microsoft ASP.NET \ ASP.NET Web Pages \ v1.0 \ Assemblies. Komunikat o błędzie poinformował mnie, którego dll brakuje (System.Web.Infrastructure, System.Web.Razor itp.) Kontynuowałem dodawanie każdego brakującego dll, jeden po drugim, aż zadziałało.
źródło
Zrobiłem „Pakiet aktualizacji - ponownie zainstaluj Microsoft.AspNet.Mvc”, aby go naprawić w Visual Studio 2015.
źródło
Ważnym zagadnieniem jest plik web.config. Niektóre pakiety mogą zniszczyć przekierowania wiążące się z spustoszeniem (nieuczciwy pakiet był w pakiecie wewnętrznym, że nie usunąłem pliku web.config z pakietu lub upewniłem się, że plik web.config w pakiecie nie ma żadnych przekierowań wiązania, na przykład usunięcie duplikatu i niepoprawny węzeł rozwiązuje ten problem
usunięcie linii od 8 do 24 naprawia kompilację.
źródło
Sprawdź również wersję zestawu w pliku web.config w folderze Views i upewnij się, że jest zgodna. Czasami zapominam, że w tej lokalizacji jest drugi plik web.config.
źródło
Ten post może być duplikatem Phila, ale może pomóc:
http://www.tugberkugurlu.com/archive/deployment-of-asp-net-mvc-3-rc-2-application-on-a-shared-hosting-environment-with-begging-the-hosting-company
źródło
Miałem ten sam problem z wieloma plikami asemblacji po przeniesieniu projektu do innego rozwiązania.
Dla mnie
web.config
plik próbował dodać ten zestaw:Myślałem, że odniesienie w projekcie wskazuje na wersję
3.0.0.0
(kliknij odnośnik i przewiń na dół właściwości). Dlatego właśnie zmieniłem wersję referencyjną wweb.config
pliku.Nie wiem, czy to był jakiś błąd. Problem z dodawaniem wszystkich innych referencji polegał na tym, że referencje pojawiły się w pliku konfiguracyjnym, ale w ogóle nie były w ogóle referencyjne w projekcie (w eksploratorze rozwiązań) i potrzebne pliki nie zostały skopiowane z resztą plików projektu, prawdopodobnie z powodu nie bycia
"copy local = true"
Teraz nie byłem w stanie znaleźć tych zespołów w możliwych do dodania zespołach (klikając prawym przyciskiem myszy odnośnik i próbując dodać je z zespołów lub rozszerzeń). Zamiast tego stworzyłem nowe rozwiązanie MVC, które dodało wszystkie potrzebne zespoły i referencje, i znajdując je pod referencjami nowych projektów w eksploratorze rozwiązań i znajdując ich ścieżkę w oknie właściwości referencji.
Następnie skopiowałem potrzebne biblioteki do innego projektu i odniosłem się do nich.
źródło
Po wypróbowaniu wszystkiego i wciąż nieudanym, to było moje rozwiązanie: przypomniałem sobie, że ostatnio miałem błąd i zaktualizowałem wersję MVC w moim Visual Studio, więc uruchomiłem projekt z innego Visual Studio (innego komputera), a następnie przesłałem dll-y i zadziałało. może to pomoże komuś ...
źródło
Używam Jenkinsa z projektami .net i miałem problemy z referencjami do MVC 4.
Ostatecznie rozwiązałem mój problem, używając funkcji wyszukiwarki referencyjnej .Net opartej na rejestrze, używając:
„HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft.NETFramework \ v2.0.50727 \ AssemblyFoldersEx”
Możesz utworzyć podklucz i ustawić domyślny klucz na przykład na „c: \ myreferenceedir”.
Uratowało mnie to z wersjami MVC, a także ze stronami sieci Web ASP.net.
Przydatne do dodawania odniesień do „okna dialogowego dodawania odniesień”
http://dhakshinamoorthy.wordpress.com/2011/12/04/how-to-register-your-net-assembly-in-gac-and-make-it-show-in-add-reference-dialog/
źródło
Jak wspomnieli inni, dodaj te odniesienia do studiów wizualnych z
Copy Local
ustawionym natrue
. (Musiałem również dodaćSystem.Web.Webpages
)źródło
Dodałem „Microsoft ASP.NET Razor” przy użyciu Zarządzaj pakietami NuGet.
Z Dodaj referencje z jakiegoś powodu miałem tylko System.Web.Helpers 1.0.0 i 2.0.0 ... ale nie 3.0.0.
Inną opcją, która działała ode mnie, było usunięcie odniesień do System.Web.Mvc i System.Web.Http ... a następnie ponowne dodanie ich przeglądania w lokalizacjach pakietów w pliku csproj (najłatwiej można edytować projekt za pomocą edytor tekstu):
źródło