it-swarm.com.de

Datei oder Assembly 'DotNetOpenAuth.Core konnte nicht geladen werden

Ich erhalte die folgende Fehlermeldung, wenn ich meine asp net mvc 4-Anwendung starte:

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

Dies ist das Fehlerprotokoll

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.

Ich habe bereits alle Referenzen von DotNetOpenAuth mit Packager Manager entfernt. Außerdem habe ich für jede Auth Assembly, die ich in meinem Projekt hatte, meine Selbstreferenzen überprüft, und es gibt keine.

Das ist meine 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>

Vielen Dank

82
Dimas Longo

Wenn Sie OAuth nicht verwenden möchten, entfernen Sie Verweise: beide WebPages OAuth DLL (Ich denke, es ist Microsoft.Web.WebPages.OAuth.dll  1) und DotNetOpenAuth-DLLs.


1: Sie finden den Dateinamen in Calling Assembly. Das Entfernen aller calling Assembly Von DotNetOpenAuth.Core Sollte also für Sie funktionieren. Dieser Ansatz sollte für andere nicht verwendete fehlende Referenzen funktionieren.

82
Ian Li

Ich hatte ein ähnliches Problem. Es war wirklich seltsam, als das Projekt einen Tag zuvor in Ordnung lief.

Das Entfernen der Ordner obj und bin aus dem Projektordner, das Bereinigen der Lösung und das Neuerstellen funktionierten.

Hoffentlich hilft das.

76

Ich habe dies bei der Bereitstellung einer MVC-Anwendung als bin deploy Beobachtet. Wenn Sie mit der rechten Maustaste auf ein Projekt klicken und Add deployable dependencies Auswählen, fügt VS die Verweise auf Oauth) hinzu, wenn Sie das Kontrollkästchen neben ASP .NET Webpages with Razor syntax Aktivieren.

Um dies zu beheben, löschen Sie den Ordner _bin_deployableAssemblies Und den Ordner bin Ihrer Anwendung und bereinigen Sie Ihre Anwendung und erstellen Sie sie neu, damit sie wieder funktioniert.

22
Jack

In meinem Fall lief die MVC4-Anwendung im VS2012-Debugger einwandfrei, aber beim Veröffentlichen der Anwendung auf dem Server wurde der Fehler "Datei oder Assembly 'DotNetOpenAuth.Core' konnte nicht geladen werden" angezeigt.

Das Aktivieren des Kontrollkästchens "Alle vorhandenen Dateien vor dem Veröffentlichen löschen" auf der Registerkarte "Einstellungen" des Fensters "Web veröffentlichen" löste das Problem.

File System Publishing Settings

16
mitaka

Ich habe das Problem gelöst, indem ich das Paket mit Nuget installiert habe

Install-Package Microsoft.AspNet.WebPages.OAuth
11
mLar

Wählen Sie in den Veröffentlichungseinstellungen einfach "Zusätzliche Dateien am Ziel entfernen". Das funktioniert bei mir

4
Anpix

Durch die Installation der folgenden beiden Pakete habe ich dieses Problem in VS2012 Professional Update 4 RC behoben:

  1. Öffnen Sie die Package Manager-Konsole über das Menü:

    Werkzeuge | Bibliothekspaket verwalten | Package Manager-Konsole

  2. Installationspaket DotNetOpenAuth.AspNet

  3. Installationspaket Microsoft.AspNet.WebHelpers

Hoffe das hilft dir !!!

3
user2969674

Versuchen Sie, eine globale Lösungssuche (Strg + Umschalt + F, wenn Sie sie nicht geändert haben) für den Wert "2780ccd10d57b246" durchzuführen. Ich vermute, Sie finden es in Ihrer web.config.

2
Heather

Eine weitere Lösungsmöglichkeit besteht darin, eine Assembly-Abhängigkeit wie folgt zu haben:

<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>
1
MuJosh

Ich habe nicht den Ruf, Kommentare abzugeben, aber ich kann bestätigen, dass ich genau dieses Problem hatte und Jack die richtige Lösung für mich gegeben hat. Ich habe kürzlich auf Dienstreferenz hinzufügen geklickt und das Programm mit der obigen Fehlermeldung abgebrochen.

Durch Löschen des Ordners _bin_deployableAssemblies und des Ordners bin Ihrer Anwendung und anschließendes Bereinigen und Neuerstellen Ihrer Anwendung wurde die Funktionsfähigkeit wiederhergestellt.

1
JPK

bei mir hat es wie folgt geklappt: Mit der Packager-Manager-Konsole habe ich die Pakete in der folgenden Reihenfolge deinstalliert, und ich habe es neu installiert. Es hat mein Problem gelöst.

Deinstallation

Uninstall-Package Microsoft.AspNet.WebPages.OAuth
Uninstall-Package DotNetOpenAuth.AspNet 
Uninstall-Package DotNetOpenAuth.OpenId.RelyingParty
Uninstall-Package DotNetOpenAuth.OpenId.Core 
Uninstall-Package DotNetOpenAuth.OAuth.Consumer
Uninstall-Package DotNetOpenAuth.OAuth.Core
Uninstall-Package DotNetOpenAuth.core

Build, Wenn Sie die oben genannten Pakete nicht verwenden, sollte dies das Problem lösen. Führen Sie die folgenden Schritte aus, um die oben genannten Pakete bei Bedarf erneut zu installieren.

Neu installieren

install-Package DotNetOpenAuth.AspNet 
install-Package Microsoft.AspNet.WebPages.OAuth
install-Package DotNetOpenAuth.OpenId.RelyingParty
install-Package DotNetOpenAuth.OpenId.Core 
install-Package DotNetOpenAuth.OAuth.Consumer
install-Package DotNetOpenAuth.OAuth.Core
install-Package DotNetOpenAuth.core

empfohlen:

  • gehen Sie zum Ordner bin des Projekts und löschen Sie ihn
  • wenn Sie auf dem IIS veröffentlichen möchten, löschen Sie das virtuelle Verzeichnis und weisen Sie die Website erneut dem IIS zu, da ich mit dem Problem konfrontiert war, auf dem Server Bargeld zu haben, das das Problem verursachte ...
1
Adel

Ich hatte hier das gleiche Problem. Meine veröffentlichte web.config hatte nicht die folgenden Zeilen:

  <dependentAssembly>
    <assemblyIdentity name="DotNetOpenAuth.Core" publicKeyToken="2780ccd10d57b246" />
    <bindingRedirect oldVersion="1.0.0.0-4.1.0.0" newVersion="4.1.0.0" />
  </dependentAssembly>

Gerade hinzugefügt und es hat funktioniert.

0
Thiago

Entfernen Sie einfach den BIN-Ordner aus wwwroot und veröffentlichen Sie ihn erneut.

0
fede

Ich konnte es auf meinem Ende lösen, indem ich Microsoft.AspNet.Membership.OpenAuth entfernte

0

Ich stoße auf dieses Problem, wenn ich daran arbeite, alle unsere Bibliotheken zu aktualisieren. Dieser Link hat mir geholfen, dieses Problem zu beheben. https://www.devexpress.com/Support/Center/Question/Details/Q554890/the-could-not-load-file-or-Assembly-dotnetopenauth-core-version-4-0-0- 0-Fehlermeldung-ist .

Insbesondere habe ich diese Bindungsumleitungen zu meiner web.config-Datei hinzugefügt.

      <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>
0
Oscar Cauich

Für mich hat geholfen, den folgenden Abschnitt zur csproj-Datei hinzuzufügen:

<PropertyGroup>
   <PostSharpHostConfigurationFile>web.config</PostSharpHostConfigurationFile>            
</PropertyGroup>
0
Iwona Kubowicz

Ich bekam diesen Fehler auch, aber mit einem ASP.NET MVC 5-Projekt. Ich habe es gelöst, indem ich das Paket DotNetOpenAuth.Mvc5 installiert und AsActionResultMvc5 () anstelle von AsActionResult () aufgerufen habe.

0
TheNameless

Falls dies jemandem hilft - Ich konnte die DotNetOpenAuth-Komponenten nicht über Nuget deinstallieren. Daher habe ich diesen Fehler behoben, indem ich sie direkt aus der Referenzliste gelöscht und dann dotnetopenauth über Nuget erneut installiert habe.

0
Fijjit