Le message d'erreur suivant s'affiche lorsque je lance mon application asp net mvc 4:
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
Ceci est le journal des erreurs
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.
J'ai déjà supprimé toutes les références de DotNetOpenAuth avec le gestionnaire de package. De plus, j’ai vérifié par mes propres références pour chaque montage d’authentification que j’avais dans mon projet et il n’y en a pas.
Ceci est mon 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>
Merci
Si vous ne souhaitez pas utiliser OAuth, supprimez les références: les WebPages OAuth DLL (Je pense que c'est Microsoft.Web.WebPages.OAuth .dll 1) et les DLL DotNetOpenAuth.
1: Vous pouvez trouver le nom du fichier dans Calling Assembly
. Donc, enlever tous les calling Assembly
de DotNetOpenAuth.Core
devrait fonctionner pour vous. Cette approche devrait fonctionner pour d'autres références manquantes non utilisées.
J'ai eu le même problème. C'était vraiment étrange car le projet fonctionnait bien la veille.
La suppression des dossiers obj et bin du dossier de projet, le nettoyage de la solution et sa reconstruction ont fonctionné.
J'espère que ça t'as aidé.
J'ai vu cela se produire lors du déploiement d'une application MVC en tant que bin deploy
. Lorsque vous cliquez avec le bouton droit sur un projet et sélectionnez Add deployable dependencies
VS ajoutera les références à Oauth si vous cochez la case en regard de ASP .NET Webpages with Razor syntax
.
Pour résoudre ce problème, supprimez le _bin_deployableAssemblies
dossier, ainsi que le dossier bin
de votre application, puis nettoyez et reconstruisez votre application, elle fonctionnera à nouveau.
Dans mon cas, l'application MVC4 fonctionnait correctement dans le débogueur VS2012, mais le message d'erreur "Impossible de charger le fichier ou l'assembly 'DotNetOpenAuth.Core'" lorsque je publiais l'application sur le serveur.
Le fait de cocher la case "Supprimer tous les fichiers existants avant la publication" dans l'onglet Paramètres de la fenêtre Publier Web a résolu le problème.
J'ai résolu le problème en installant le paquet en utilisant Nuget
Install-Package Microsoft.AspNet.WebPages.OAuth
Il suffit de sélectionner "Supprimer les fichiers supplémentaires à la destination" dans les paramètres de publication. Ça marche pour moi
En installant les deux packages suivants, j'ai résolu ce problème sur VS2012 Professional Update 4 RC:
Ouvrez la console du gestionnaire de packages à partir du menu:
Outils | Bibliothèque Package Gérer | Console du gestionnaire de paquets
Paquet d'installation DotNetOpenAuth.AspNet
J'espère que cela vous aide !!!
Essayez de rechercher une solution globale (ctrl + shift + f si vous ne l’avez pas modifiée) pour la valeur '2780ccd10d57b246'. Je suppose que vous le trouverez dans votre web.config.
Une autre solution consiste à créer une dépendance d'assemblage comme suit:
<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>
Je n'ai pas la réputation de commenter, mais je peux vérifier que j'ai eu ce problème et Jack a donné la bonne solution pour moi. J'avais récemment appuyé sur Add Service Reference (Ajouter une référence de service) et le programme contenant le message d'erreur ci-dessus s'est rompu.
La suppression du dossier _bin_deployableAssemblies et du dossier bin de votre application, puis du nettoyage et de la reconstruction de votre application, a permis à celle-ci de fonctionner à nouveau.
pour moi, cela a fonctionné comme suit, en utilisant la console du gestionnaire de l’emballeur, j’ai désinstallé les paquets, en suivant la séquence de commande suivante et je l’ai réinstallé, cela a résolu mon problème.
Désinstaller
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
Si vous n’utilisez pas les packages ci-dessus, cela devrait résoudre le problème. Pour installer à nouveau ce qui précède au cas où vous en auriez besoin, procédez comme suit.
Réinstaller
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
recommandé:
J'ai eu le même problème ici. Mon web.config publié n'a pas eu les lignes:
<dependentAssembly>
<assemblyIdentity name="DotNetOpenAuth.Core" publicKeyToken="2780ccd10d57b246" />
<bindingRedirect oldVersion="1.0.0.0-4.1.0.0" newVersion="4.1.0.0" />
</dependentAssembly>
Vient d'ajouter et cela a fonctionné.
Supprimez simplement le dossier BIN de wwwroot et publiez-le à nouveau.
J'ai pu résoudre ce problème en supprimant Microsoft.AspNet.Membership.OpenAuth
Je rencontre ce problème lorsque je travaille à la mise à jour de toutes nos bibliothèques. Ce lien m'a aidé à résoudre ce problème. https://www.devexpress.com/Support/Center/Question/Details/Q554890/the-could-not-load-file-or-Assembly-dotnetopenauth-core-version-4-0-0- 0-error-message-is .
En particulier, j'ai ajouté ces redirections de liaison vers mon fichier 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>
Pour moi, j'ai aidé à ajouter au fichier csproj la section suivante:
<PropertyGroup>
<PostSharpHostConfigurationFile>web.config</PostSharpHostConfigurationFile>
</PropertyGroup>
J'avais aussi cette erreur, mais avec un projet ASP.NET MVC 5. Je l'ai résolu en installant le package DotNetOpenAuth.Mvc5 et en appelant AsActionResultMvc5 () au lieu de AsActionResult ().
Au cas où cela aiderait quelqu'un - je ne pouvais pas désinstaller les composants DotNetOpenAuth via Nuget, j'ai donc résolu cette erreur en les supprimant directement de la liste des références, puis en réinstallant dotnetopenauth via nuget.