Otrzymuję ten błąd podczas próby uruchomienia mojego MVC4
projektu, działał dobrze do ostatniego razu na moich innych komputerach, ale kiedy próbuję uruchomić go z innego komputera, pojawia się ten błąd:
Nie można załadować pliku lub zestawu „Antlr3.Runtime (1)” lub jednej z jego zależności. Definicja manifestu zlokalizowanego zestawu nie jest zgodna z odwołaniem do zestawu. (Wyjątek od HRESULT: 0x80131040)
Po przeczytaniu o tym tutaj próbowałem zrobić :
Zainstaluj pakiet Antlr3.Runtime -Pre
ale to nie pomogło, jakieś pomysły?
.net
asp.net-mvc
Maven
źródło
źródło
Odpowiedzi:
Napotkałem ten sam problem podczas eksperymentowania z bezpłatną platformą logowania Nlog.
Pomogło mi to:
Wpisz% TEMP% w Eksploratorze plików i usuń wszystkie pliki tymczasowe.
Po tym nie otrzymałem błędu podczas uruchamiania projektu MVC5 w programie Visual Studio.
źródło
Spróbuj usunąć pliki tymczasowe dla ASP.Net, wykonując jedną z następujących czynności:
źródło
Nie zapomnij wyczyścić również tymczasowych plików ASP.NET w
Framework64
. To załatwiło sprawę dla mnie.C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files
źródło
Na wypadek, gdyby to komuś pomogło.
Miałem ten problem z aplikacją MVC 5. Usunięcie Antlr3.Runtime.dll z katalogu bin i ponowne kompilowanie rozwiązało problem.
źródło
Mój problem polegał na tym, że najnowsza wersja WebGrease instaluje wersję 3.4.1.9004 Antlr. Po zainstalowaniu WebGrease, a następnie zaktualizowaniu Antlr do wersji 3.5.0.2, błąd zniknął.
źródło
Dla mnie usunięcie tego węzła w pliku web.config pozbyło się komunikatu o błędzie:
<identity impersonate="true" userName="" password="">
Ale to, co naprawdę zadziałało, to przyznanie pełnego dostępu (do nazwy użytkownika określonej w personifikacji), do folderu Temporary ASP.NET Files ”znajdującego się w C: \ Windows \ Microsoft.NET \ Framework {wersja} (lub Framework64).
Tożsamość może być również przechowywana w ustawieniach puli aplikacji witryny sieci Web w usługach IIS.
Upewnij się, że pakiet NuGet jest poprawnie zainstalowany i ma poprawną wersję. Jeśli nic innego nie działa, po prostu spróbuj ponownie dodać odwołanie z folderu lokalnego i ustawić je na Kopiuj lokalnie.
źródło
ASPNET_REGIIS -GA impersonatedusername
Jeśli jakieś rozwiązania rozwiązują problem, sprawdź plik web.config, czyli wersję zestawu
<dependentAssembly> <assemblyIdentity name="Antlr3.Runtime" publicKeyToken="eb42632606e9261f" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-3.5.0.2" newVersion="3.5.0.2" /> </dependentAssembly>
źródło
Jednym z prostszych sposobów jest aktualizacja antlr i webgrease
Wreszcie błąd rozwiązany
źródło
W moim przypadku było to spowodowane niezgodnością między wersjami Antlr do debugowania i środowiska wykonawczego.
Wreszcie rozwiązałem to, instalując inny pakiet Antlr: Install-Package Antlr
źródło
Spróbuj odblokować plik Antlr3.Runtime.dll, jeśli ręcznie dodasz odniesienie:
źródło
Wystąpił problem z impersonate = "true" w web.config, usunąłem linię, która działała !!
Ponownie umieściłem linię i dałem administratorowi uprawnienia do konta użytkownika z personifikacją, cała moja aplikacja działała :)
źródło
Jeśli używasz podszywania się. Odpowiedzią jest nadanie uprawnień użytkownikowi, pod którego podszywasz się, dostępu do następujących folderów:
C:\Windows\Microsoft.NET\Framework[v4.0.30319 or the version that you're using]\Temporary ASP.NET Files
Twój katalog witryny.
może być również konieczne utworzenie następującego folderu:
C:\Windows\Microsoft.NET\Framework\[v4.0.30319 or the version that you're using]\Temporary ASP.NET Files\[Application-Name-Goes-Here]
Ale najpierw wypróbuj poprzednią, zadziałała.
Te dwie zmiany dotyczące przyznania podszywanego użytkownika uprawnienia do zapisywania danych tymczasowych i pobierania plików dll oraz wszelkich potrzebnych plików z katalogów
Aktualizacja, dla systemu Windows 10 To rozwiązanie zadziałało dla mnie
Zrobimy oba kroki, ale Zamiast tego
C:\Windows\Microsoft.NET\Framework[v4.0.30319 or the version that you're using]\Temporary ASP.NET Files
Zapisz% TEMP% w eksploratorze plików i nadaj uprawnienia użytkownikowi, któremu podszywasz się, do następującego folderu:
C:\Users\[UserName]\AppData\Local\Temp\Temporary ASP.NET Files
źródło
Mam proste rozwiązanie. Przejdź do własnego folderu projektu i znajdź folder z pakietami.
źródło
W projekcie miałem odniesienie do WebGrease, ale nie było odpowiedniego elementu w packages.config. Usuwam odniesienie z projektu, ponieważ już go nie potrzebuję. To teraz działa.
źródło
Wypróbowałem wszystkie odpowiedzi w tym poście, ale żadna z nich nie zadziałała.
Więc usunąłem wszystkie katalogi / bin wewnątrz wszystkich projektów z mojego rozwiązania, wyczyściłem i odbudowałem rozwiązanie i w końcu zadziałało!
Cały poranek straciłem na pracy nad rozwiązaniem problemu ...
źródło
co zadziałało dla mnie, to usunięcie tożsamości = true z mojej konfiguracji webconfig (w ramach właściwości system.web) i ponowne zbudowanie rozwiązania i opublikowanie go ponownie (w razie potrzeby) i zadziałało jak urok!
źródło
Mój problem został spowodowany przez zmianę mapowanych dysków w naszych zasadach grupy. Moje rozwiązanie ma ustawienie tempDirectory w pliku Web.config, aby używać konfiguracji dysku RAM jako mojego dysku Z :. Najwyraźniej zaczęli używać dysku Z: i biblioteki DLL były kopiowane do tempDirectory w normalny sposób, ale myślę, że były usuwane przez proces na zdalnym serwerze (prawdopodobnie skanowanie antywirusowe). Byłem w stanie to rozgryźć tylko za pomocą Process Monitor i filtrowania Antlr i widząc, że szukał on bibliotek DLL w lokalizacji sieciowej.
źródło
Zaktualizowałem wszystkie pakiety w menedżerze pakietów Nudget i zadziałało! W moim przypadku hostuję swoją witrynę w GoDaddy
źródło
Po próbie usunięcia pliku tymczasowego .netframework bez powodzenia, zmieniłem
<system.web> <authentication mode="None" /> <compilation debug="true" targetFramework="4.6.1" /> <httpRuntime /> <pages controlRenderingCompatibilityVersion="4.0" /> </system.web>
Tylko z targetFramework = "4.6" zamiast 4.6.1 witryna internetowa wyświetla się bez błędów. Następnie ponownie zmieniłem na targetFramework = "4.6.1" i zrestartowałem serwer. Wszystko pozostaje w porządku.
źródło
Dla mnie rozwiązaniem było uruchomienie Visual Studio jako Administrator. Najwyraźniej był to problem z uprawnieniami.
źródło
Rozwiązaniem dla mnie było przejście do Narzędzia> Menedżer pakietów NuGet> Zarządzaj pakietami w celu rozwiązania
Następnie kliknij Antlr3 i upewnij się, że został zainstalowany w:
W moim przypadku były to 4 projekty, które tego potrzebowały. Gdy to zrobiono, problem został ostatecznie rozwiązany.
źródło
Właśnie napotkałem ten problem i wypróbowałem powyższe rozwiązania, ale na razie nic nie działało Musiałem usunąć jego bibliotekę dll z bin floder i przebudować, a następnie usunąć wszystkie zwolnione pliki z folderu pakietów i przywrócić pakiety za pomocą konsoli menedżera pakietów
źródło
Usunięto% temp%
Pojemnik usunięty
Usunięte .vs
Teraz pracował dla mnie
źródło
W moim przypadku, kiedy sklonowałem projekt, Visual Studio 2019 zastąpiło znak spacji „% 20” w ścieżce projektu. Następnie, gdy VS próbował znaleźć pakiety użytkowe, nie mógł znaleźć poprawnej ścieżki.
źródło
Napotkałem ten problem po aktualizacji
Microsoft.AspNet.Web.Optimization
update-package WebGrease
iupdate-package Antlr
(w tej kolejności), aby pobrać najnowsze wersje i naprawić problem z wersją Antlr.źródło
Dla mnie wykonałem te kroki i zadziałało:
1) Usunąłem
bin
iobj
folder (niektóre pliki nie zostały usunięte przezClean
projekt)2) Sprawdziłem niektóre pliki, takie jak JS, który został usunięty dawno temu, ale zostały uwzględnione w plikach projektu . Więc je wykluczam.
źródło