Po uruchomieniu aplikacji ASP net MVC 4 pojawia się następujący błąd:
Could not load file or assembly 'DotNetOpenAuth.Core, Version=4.0.0.0,
Culture=neutral, PublicKeyToken=2780ccd10d57b246' or one of its dependencies.
The system cannot find the file specified
To jest dziennik błędów
Assembly manager loaded from: C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll
Running under executable C:\Windows\SysWOW64\inetsrv\w3wp.exe
--- A detailed error log follows.
=== Pre-bind state information ===
LOG: User = notebook\Guilherme
LOG: DisplayName = DotNetOpenAuth.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=2780ccd10d57b246
(Fully-specified)
LOG: Appbase = file:///C:/Users/Guilherme/Documents/Visual Studio 2012/Projects/Gedi/Gedi/
LOG: Initial PrivatePath = C:\Users\Guilherme\Documents\Visual Studio 2012\Projects\Gedi\Gedi\bin
Calling assembly : Microsoft.Web.WebPages.OAuth, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35.
===
LOG: This bind starts in default load context.
LOG: Using application configuration file: C:\Users\Guilherme\Documents\Visual Studio 2012\Projects\Gedi\Gedi\web.config
LOG: Using host configuration file: C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet.config
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config.
LOG: Post-policy reference: DotNetOpenAuth.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=2780ccd10d57b246
LOG: Attempting download of new URL file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files/root/2635bb56/154c3fbb/DotNetOpenAuth.Core.DLL.
LOG: Attempting download of new URL file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files/root/2635bb56/154c3fbb/DotNetOpenAuth.Core/DotNetOpenAuth.Core.DLL.
LOG: Attempting download of new URL file:///C:/Users/Guilherme/Documents/Visual Studio 2012/Projects/Gedi/Gedi/bin/DotNetOpenAuth.Core.DLL.
LOG: Attempting download of new URL file:///C:/Users/Guilherme/Documents/Visual Studio 2012/Projects/Gedi/Gedi/bin/DotNetOpenAuth.Core/DotNetOpenAuth.Core.DLL.
LOG: Attempting download of new URL file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files/root/2635bb56/154c3fbb/DotNetOpenAuth.Core.EXE.
LOG: Attempting download of new URL file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files/root/2635bb56/154c3fbb/DotNetOpenAuth.Core/DotNetOpenAuth.Core.EXE.
LOG: Attempting download of new URL file:///C:/Users/Guilherme/Documents/Visual Studio 2012/Projects/Gedi/Gedi/bin/DotNetOpenAuth.Core.EXE.
LOG: Attempting download of new URL file:///C:/Users/Guilherme/Documents/Visual Studio 2012/Projects/Gedi/Gedi/bin/DotNetOpenAuth.Core/DotNetOpenAuth.Core.EXE.
Usunąłem już wszystkie odwołania z DotNetOpenAuth za pomocą menedżera pakowania. Sprawdziłem również własne odniesienia dla każdego zestawu Auth, który miałem w moim projekcie i nie ma żadnego.
To jest moje packages.config
<packages>
<package id="AutoMapper" version="2.2.0" targetFramework="net45" />
<package id="EntityFramework" version="5.0.0" targetFramework="net45" />
<package id="jQuery" version="1.7.1.1" targetFramework="net45" />
<package id="jQuery.UI.Combined" version="1.8.20.1" targetFramework="net45" />
<package id="jQuery.Validation" version="1.9.0.1" targetFramework="net45" />
<package id="knockoutjs" version="2.1.0" targetFramework="net45" />
<package id="Microsoft.AspNet.Mvc" version="4.0.20710.0" targetFramework="net45" />
<package id="Microsoft.AspNet.Razor" version="2.0.20710.0" targetFramework="net45" />
<package id="Microsoft.AspNet.Web.Optimization" version="1.0.0" targetFramework="net45" />
<package id="Microsoft.AspNet.WebApi" version="4.0.20710.0" targetFramework="net45" />
<package id="Microsoft.AspNet.WebApi.Client" version="4.0.20710.0" targetFramework="net45" />
<package id="Microsoft.AspNet.WebApi.Core" version="4.0.20710.0" targetFramework="net45" />
<package id="Microsoft.AspNet.WebApi.WebHost" version="4.0.20710.0" targetFramework="net45" />
<package id="Microsoft.AspNet.WebPages" version="2.0.20710.0" targetFramework="net45" />
<package id="Microsoft.AspNet.WebPages.Data" version="2.0.20710.0" targetFramework="net45" />
<package id="Microsoft.AspNet.WebPages.WebData" version="2.0.20710.0" targetFramework="net45" />
<package id="Microsoft.jQuery.Unobtrusive.Ajax" version="2.0.20710.0" targetFramework="net45" />
<package id="Microsoft.jQuery.Unobtrusive.Validation" version="2.0.20710.0" targetFramework="net45" />
<package id="Microsoft.Net.Http" version="2.0.20710.0" targetFramework="net45" />
<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net45" />
<package id="Modernizr" version="2.5.3" targetFramework="net45" />
<package id="Newtonsoft.Json" version="4.5.11" targetFramework="net45" />
<package id="Repository" version="1.0.2.12" targetFramework="net45" />
<package id="RestSharp" version="103.4" targetFramework="net45" />
<package id="WebGrease" version="1.1.0" targetFramework="net45" />
</packages>
Dzięki
c#
asp.net
.net
asp.net-mvc
asp.net-mvc-4
Dimas Longo
źródło
źródło
Miałem podobny problem. To było naprawdę dziwne, ponieważ projekt działał dobrze dzień wcześniej.
Usunięcie folderów obj i bin z folderu projektu, wyczyszczenie roztworu i odbudowanie go zadziałało.
Mam nadzieję, że to pomoże.
źródło
Widziałem to podczas wdrażania aplikacji MVC jako
bin deploy
. Po kliknięciu projektu prawym przyciskiem myszy i wybraniu programuAdd deployable dependencies
VS doda odwołania do Oauth, jeśli zaznaczysz pole obokASP .NET Webpages with Razor syntax
.Aby to naprawić, usuń
_bin_deployableAssemblies
folder i folder aplikacji,bin
a następnie wyczyść i ponownie skompiluj aplikację i będzie działać ponownie.źródło
W moim przypadku aplikacja MVC4 działała poprawnie w debugerze VS2012, ale podczas publikowania aplikacji na serwerze pojawiał się błąd „Nie można załadować pliku lub zestawu 'DotNetOpenAuth.Core'”.
Zaznaczenie pola wyboru „Usuń wszystkie istniejące pliki przed opublikowaniem” na karcie ustawień w oknie Publikuj w sieci WWW rozwiązało problem.
źródło
Rozwiązałem problem, instalując pakiet za pomocą Nuget
źródło
Po prostu wybierz „Usuń dodatkowe pliki w miejscu docelowym” w ustawieniach publikowania. To działa dla mnie
źródło
Instalując następujące dwa pakiety rozwiązałem ten problem w VS2012 Professional Update 4 RC:
Otwórz konsolę Menedżera pakietów z menu:
Narzędzia | Zarządzanie pakietem bibliotecznym | Konsola menedżera pakietów
Zainstaluj pakiet DotNetOpenAuth.AspNet
Mam nadzieję, że to pomoże Ci !!!
źródło
Spróbuj przeprowadzić globalne wyszukiwanie rozwiązania (ctrl + shift + f, jeśli go nie zmieniłeś) dla wartości „2780ccd10d57b246”. Zgaduję, że znajdziesz go w swoim pliku web.config.
źródło
dla mnie działało tak, jak poniżej, używając konsoli menedżera pakietów, odinstalowałem pakiety zgodnie z następującą kolejnością kolejności i ponownie go zainstalowałem, rozwiązało to mój problem.
Kompiluj, jeśli nie używasz powyższych pakietów, powinno to rozwiązać problem. Aby ponownie zainstalować powyższe, jeśli jest to potrzebne, wykonaj następujące czynności.
polecany:
źródło
Jeszcze jedną opcją rozwiązania jest zależność zestawu w następujący sposób:
<dependentAssembly> <assemblyIdentity name="DotNetOpenAuth.AspNet" publicKeyToken="2780ccd10d57b246" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-4.3.0.0" newVersion="4.3.0.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="DotNetOpenAuth.Core" publicKeyToken="2780ccd10d57b246" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-4.3.0.0" newVersion="4.3.0.0" /> </dependentAssembly>
źródło
Nie mam reputacji do komentowania, ale mogę sprawdzić, czy miałem dokładnie ten problem i Jack podał mi prawidłowe rozwiązanie. Niedawno nacisnąłem Add Service Reference i zepsuło to program z powyższym komunikatem o błędzie.
Usunięcie folderu _bin_deployableAssemblies i folderu bin aplikacji, a następnie wyczyszczenie i ponowne skompilowanie aplikacji sprawiło, że działała ponownie.
źródło
Na wypadek, gdyby to pomogło każdemu - nie udało mi się odinstalować składników DotNetOpenAuth za pośrednictwem Nuget, więc rozwiązałem ten błąd, usuwając je bezpośrednio z listy odniesień, a następnie ponownie instalując dotnetopenauth za pośrednictwem nuget.
źródło
Otrzymałem również ten błąd, ale z projektem ASP.NET MVC 5. Rozwiązałem to, instalując pakiet DotNetOpenAuth.Mvc5 i wywołując AsActionResultMvc5 () zamiast AsActionResult ()
źródło
U mnie pomogło dodanie do pliku csproj następującej sekcji:
źródło
Tu miałem ten sam problem. Mój opublikowany plik web.config nie zawierał linii:
<dependentAssembly> <assemblyIdentity name="DotNetOpenAuth.Core" publicKeyToken="2780ccd10d57b246" /> <bindingRedirect oldVersion="1.0.0.0-4.1.0.0" newVersion="4.1.0.0" /> </dependentAssembly>
Właśnie dodane i zadziałało.
źródło
Po prostu usuń folder BIN z wwwroot i opublikuj ponownie.
źródło
Udało mi się rozwiązać ten problem po mojej stronie, usuwając Microsoft.AspNet.Membership.OpenAuth
źródło
Napotykam ten problem podczas pracy nad aktualizacją wszystkich naszych bibliotek. ten link pomógł mi rozwiązać ten problem. https://www.devexpress.com/Support/Center/Question/Details/Q554890/the-could-not-load-file-or-assembly-dotnetopenauth-core-version-4-0-0-0-error- wiadomość-jest .
Specjalnie dodałem te przekierowania do mojego pliku web.config.
<dependentAssembly> <assemblyIdentity name="DotNetOpenAuth.Core" publicKeyToken="2780CCD10D57B246" culture="neutral" /> <bindingRedirect oldVersion="1.0.0.0-4.1.0.0" newVersion="4.3.0.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="DotNetOpenAuth.AspNet" publicKeyToken="2780CCD10D57B246" culture="neutral" /> <bindingRedirect oldVersion="1.0.0.0-4.1.0.0" newVersion="4.3.0.0" /> </dependentAssembly>
źródło
Usuń wszelkie zależności Microsoft.Web.WebPages.OAuth z dowolnego miejsca w projektach.
źródło