Récemment, j'ai rencontré l'exception suivante à la solution C #:
Erreur 2 Impossible de charger le fichier ou l'assembly «Newtonsoft.Json, version = 3.5.0.0, Culture = neutre, PublicKeyToken = b9a188c8922137c6» ou l'une de ses dépendances. Le paramètre est incorrect. (Exception de HRESULT: 0x80070057 (E_INVALIDARG))
Cela ne dépend ni de mon code ni du nom de l'assembly (comme Newtonsoft.Json
dans ce cas).
Lorsque je supprime cette DLL de la solution, le compilateur en parle d'une autre dans la même exception. Je suppose donc que quelque chose doit être éteint / allumé sur mon PC :)
Réponses:
Ressemble à un assemblage corrompu référencé.
Clarifier les deux:
le dossier \ bin de votre projet
le dossier temporaire (devrait être
C:\Users\your_username\AppData\Local\Temp\Temporary ASP.NET Files
dans Windows 7)et voyez si l'erreur persiste
la source
Selon que vous utilisez X64, vous devrez peut-être nettoyer quelques emplacements supplémentaires. Le nettoyage de mon annuaire d'utilisateurs n'était pas suffisant.
Cette liste augmentera comme si vous aviez d'autres versions du framework installées.
la source
Je devais effacer
Ce n'est qu'alors que le problème a été résolu.
la source
Pour savoir quoi effacer à coup sûr - ajoutez la clé de registre suivante:
Ensuite, vous verrez la sortie comme ci-dessous. Cela vous indique où asp.net tente de charger vos DLL. Effacez ce répertoire.
la source
Effacez les fichiers de framework temporaires pour votre projet dans: -
C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ Fichiers ASP.NET temporaires \
la source
Vous pouvez également effacer le répertoire des packages et autoriser NuGet à télécharger à nouveau les packages manquants
cela a résolu le problème pour moi
la source
Supprimez tous les fichiers de ces dossiers.
la source
Obtenir un nouvel ensemble de binaires à partir du contrôle de code source a aidé.
Merci
la source
Effacez simplement ce dossier: (uniquement Windows x64)
la source
Merci Alex, votre deuxième point m'a aidé à résoudre ce problème.
Il semble que, sauf si vous exécutez Visual Studio en tant qu'administrateur dans Windows 7, il stocke vos fichiers temporaires localement plutôt que les fichiers C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ Temporary ASP.NET.
Voir le blog suivant: http://www.dotnetscraps.com/dotnetscraps/post/Location-of-Temporary-ASPNET-files-in-Vista-or-Windows-7.aspx
la source
J'ai eu le même problème ici - les solutions ci-dessus n'ont pas fonctionné. Le problème était avec ActionMailer. J'ai exécuté les commandes de désinstallation et d'installation de nuget suivantes
J'ai résolu mes problèmes, j'espère que cela aidera quelqu'un d'autre.
la source
Cela peut se produire lors du référencement des DLL de wrapper COM. Dans votre projet Visual Studio, sous Références, sélectionnez les DLL d'encapsuleur COM référencées et assurez-vous qu'elles ont les valeurs de propriété suivantes: "Embed Interop Types": False et "Specific Version": False.
la source
Je viens de supprimer mes données temporaires d'application de ce chemin
Résolution des problèmes
la source
Je vois que de nombreux techniciens ont publié des informations sur la suppression des répertoires temporaires du runtime ASP .Net se rapportant à chaque framework .Net hébergé sur votre machine, comme dans cette réponse. Mais je crois que nous devrions connaître la logistique claire pour savoir pourquoi nous devons effacer aveuglément tous les répertoires de travail temporaires de tous les cadres .Net. Selon moi, cela ne devrait pas être le cas.
Mon conseil serait que vous devriez essayer une approche de suppression de répertoire pointé pour résoudre ce problème. Comment sauriez-vous quel répertoire effacer?
Manage Application
->Advanced Settings...
pour ouvrir laAdvanced Settings
fenêtre.DefaultAppPool
comme indiqué ci-dessous:Application Pools
nœud dans la barre de navigation de gauche dans IIS. Vérifiez maintenant quelle version .Net CLR est exécutée par votre pool d'applications. Dans mon cas, c'est la v4.0 comme indiqué ci-dessous:Étant donné que la version CLR hébergée par mon pool d'applications est la v4.0, j'ai donc effacé uniquement les fichiers temporaires du dossier appartenant à ASP .NET v4.0 uniquement comme ci-dessous:
Et c'est tout. Mon problème a été résolu.
Leçon apprise : cela indique que tous les fichiers temporaires utilisés par votre site Web ne sont pas dispersés dans plusieurs répertoires mais qu'ils sont à la fois référencés par votre pool d'applications. Vous devez donc effacer ce dossier spécifique uniquement.
la source
La suppression des fichiers C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ Temporary ASP.NET a fonctionné pour moi. Penser à automatiser le processus de suppression pour éviter le problème à l'avenir.
la source
Si vous utilisez les outils de données de SQL Server 2012, qui utilisent le shell VS2010 au 1er mai 2013, vérifiez vos paramètres Configuration Manager. Un changement de nom de serveur de Workflow à xCPWorkflow était suffisant pour produire exactement le même Le paramètre est incorrect (exception de HRESULT: 0x80070057 (E_INVALIDARG)) .
la source
Vous pouvez soit nettoyer, créer ou reconstruire votre application, soit simplement supprimer les fichiers ASP.NET temporaires dans C: \ Users \ YOUR USERNAME \ AppData \ Local \ Temp
Cela fonctionne comme par magie. Dans mon cas, j'ai eu un problème de liaison d'assemblage disant Impossible de charger le fichier bla bla bla
vous pouvez également voir la solution 2 comme http://www.codeproject.com/Articles/663453/Understanding-Clean-Build-and-Rebuild-in-Visual-St
la source
J'ai eu ce problème lors de la création du contrôleur dans MVC. J'ai changé la version .net du framework. Le problème a été résolu
la source
Le problème concerne la version d'exécution .Net d'une bibliothèque de classes référencée (références étendues, sélectionnez la bibliothèque et vérifiez la «version d'exécution». J'ai eu un problème avec Antlr3.Runtime, après avoir mis à niveau mon projet Visual Studio vers la version 4.5. I utilisé NuGet pour désinstaller Microsoft ASP.NET Web Optimization Framework (en raison d'une chaîne de dépendances qui m'a empêché de désinstaller Antlr3 directement)
J'ai ensuite utilisé NuGet pour réinstaller le framework d'optimisation Web Microsoft ASP.NET. Cela a réinstallé les versions d'exécution correctes.
la source
Dans mon cas, je voulais compiler une DLL visible COM. Le problème était qu'une ancienne version de cette DLL se trouvait ici:
Ainsi, Visual Studio a chargé cette version au lieu de la nouvelle compilée, car il a essayé de l'enregistrer.
la source
Effacez tous les fichiers du dossier temporaire (dossier C: \ Users \ nom_utilisateur \ AppData \ Local \ Temp \ Temporary ASP.NET Files \ project)
la source
Parfois, vous devez également nettoyer ce dossier: C: \ Windows \ Temp \ Temporary ASP.NET
la source
J'ai rencontré la même erreur car l'application n'a pas trouvé de frameworks dépendants dans le
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\
dossier. Je viens de réparer mon studio visuel qui a ajouté le cadre requis à l'emplacement ci-dessus et cela fonctionne bien.la source
Dans mon cas, la modification du numéro de port IISExpress dans les propriétés de mon projet a résolu le problème.
la source
Si quelqu'un d'autre utilise le jeu d'outils WiX, j'ai découvert que mon projet d'installation avait une référence à un ancien projet qui avait récemment été supprimé de la solution. Cela m'a pris un certain temps à réaliser car il y avait un certain nombre de projets dans la solution que j'essayais de construire et le message n'indiquait pas quel projet échouait à construire (et nettoyait, qui échouait également).
la source
J'ai eu des utilisateurs de Siemens Teamcenter 10 Client pour Microsoft Office obtenant la même erreur à propos d'une DLL différente. Aucune des autres réponses n'a fonctionné. La solution était de supprimer les dossiers dans
la source
J'ai eu le même problème lors de l'ouverture du gestionnaire de paquets Nuget, j'ai supprimé tous les fichiers temporaires et construit le projet, cela a bien fonctionné.
la source