web-dev-qa-db-fra.com

Impossible de charger le fichier ou l'assembly 'AjaxControlToolkit' après la mise à niveau vers .net 4.0

J'ai une application Web que je tente de mettre à niveau vers .net 4.0.

J'ai pris l'application et je l'ai ouverte via Visual Studio 2010 Bêta 2 et j'ai sélectionné le chemin de mise à niveau pour cette application. L'application utilise AjaxControlToolkit. Maintenant que la mise à niveau est terminée lorsque je tente d'accéder à une page, le message d'erreur suivant s'affiche: "Impossible de charger le fichier ou l'assembly 'AjaxControlToolkit' ou l'une de ses dépendances. L'accès est refusé."

J'ai essayé:

  • Redémarrer ma machine
  • Solution propre
  • Suppression de tous les fichiers des fichiers temporaires ASP.Net
  • Autorisations rédactionnelles (ajouté Tout le monde avec le contrôle total) sur le répertoire Bin, le répertoire Temporary ASP.Net Files
  • Suppression et lecture de la référence à la DLL AjaxControlToolkit

Les entrées web.config associées à AjackControlToolkit sont les suivantes:

<pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID">
  <controls>
    <add tagPrefix="ajaxToolkit" namespace="AjaxControlToolkit" Assembly="AjaxControlToolkit"/>
  </controls>
</pages>

Des idées sur ce qui se passe ici/comment je peux résoudre ce problème?

15
ChrisHDog

Pas tout à fait sûr pourquoi cela a fonctionné, mais dans le répertoire approprié de fichiers ASP.Net temporaires (situé à l'emplacement suivant: C:\Windows\Microsoft.NET\Framework64\v4.0.21006\Fichiers ASP.NET temporaires [NomProjet]). AjaxControlToolkit.dll. 

On m'a ensuite présenté des DLL supplémentaires manquantes, mais en les copiant manuellement à cet emplacement, j'ai également pu résoudre ces problèmes. Cela ne semble pas être la meilleure réponse, mais cela a fini par fonctionner pour moi.

1
ChrisHDog

J'ai eu un problème similaire, mais j'ai pu résoudre le problème en accordant tous les droits sur le dossier "Fichiers temporaires ASP.NET" pour mon identité d'emprunt d'identité.

15
Jeremy

Je me rends compte qu'il y a déjà une réponse acceptée, mais pour toute autre personne visitant cette page via une recherche sur le code d'erreur ...

Examinez les autorisations de l'utilisateur que vous essayez d'emprunter.

Dans ma situation, l'erreur ne se produisait que sur ma machine de développement, plutôt que sur nos serveurs de transfert ou de déploiement. (Pendant quelque temps, j'ai contourné ce problème en supprimant le nœud 'identité' de la configuration dans mon environnement de développement et en ajoutant simplement la ligne dans la post-construction, ce qui ne posait donc pas de problème pour quiconque autre que moi ..

Dans mon environnement, nous avons un utilisateur spécifique que toutes nos applications Web se font passer pour l'utilisateur. J'avais créé le compte d'utilisateur, mais je n'avais pas explicitement défini ses autorisations de compte. Lorsque j'ai ajouté l'utilisateur en tant qu'administrateur sur ma machine de développement, ce problème a complètement disparu. (Pas idéal, je sais, mais ça "fonctionne pour moi", et a un minimum de dommages étant donné que ce compte utilisateur est de toute façon verrouillé sur nos "vrais" serveurs ..)

6
Peter Bernier

Je pense que le message sur les fichiers temporaires dans C:\Windows\Microsoft.NET\Framework64\v4.0.21006\Fichiers ASP.NET temporaires [NomProjet] était sur la bonne voie.

J'ai résolu le problème en modifiant les autorisations pour vérifier que l'utilisateur ASP sur l'identité (trouvé dans la section relative à la sécurité de IIS en tant qu'utilisateur anonyme que l'application devait utiliser lors de l'autorisation d'accès anonyme) avait la sécurité appropriée au répertoire.

Résolu le problème ... Accès refusé indique généralement un problème d'autorisations.

4
shookdiesel

J'ai reçu ce message d'erreur (bien qu'un autre fichier dll) lorsque j'ai réinstallé mon application ASP.NET sur un nouvel ordinateur Windows Server 2008. J'ai cherché une solution à ce problème pendant des heures, en essayant absolument tout, mais en vain. Jusqu'à ce que j'ai désactivé l'antivirus McAfee. Quand j'ai fait, tout a fonctionné comme un charme.

3
Mel Korman

Vous pouvez essayer ceci: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\. Il suffit de nettoyer tous les dossiers et fichiers de ce dossier et de compiler votre application. Bonne codage!

2
mujtaba

J'ai essayé de donner à mon utilisateur emprunté les droits complets sur le dossier Temporary ASP.NET Files, mais cela n'a pas fonctionné. Je me souviens que par le passé, lorsque j'ai eu cette erreur, cela a fait l'affaire. 

Je sais que l'affiche de la question a essayé cela, mais cela a fonctionné pour moi lorsque j'ai supprimé/ajouté AjaxToolKit dans Visual Studio. Je suggère d'essayer tout ce qu'il a fait en premier. J'espère que ça aidera quelqu'un.

2
jinsungy

Erreur étrange. Est-ce que quelque chose dans votre fichier web.config pointe vers AjaxControlToolkit avec un jeton de clé publique ou d'autres spécifications d'assemblage fournies? Cela m'est arrivé, lorsqu'une valeur a changé ou que je suis passé d'une référence dans le GAC à une référence locale ...

HTH.

1
Brian Mains

Je faisais face au même problème. Après de nombreuses recherches, j'ai découvert que j'utilisais l'emprunt d'identité dans le fichier de configuration. J'ai dû remplacer l'ID d'emprunt d'identité par un autre utilisateur local sur le serveur, ce qui a immédiatement résolu le problème.

1
AshishGarg

Inspectez les propriétés de la DLL. S'il est indiqué quelque part que "ce fichier provient d'un autre ordinateur", cochez la case "Appliquer" pour lever les restrictions mises en place par Windows.

1
Protector one

N'oubliez pas d'ouvrir également "Visual Studio" avec "Exécuter en tant qu'administrateur" à l'aide du menu contextuel [clic droit].

0
JosephDoggie