web-dev-qa-db-fra.com

Impossible de charger le fichier ou l'assembly 'System.Security.Principal.Windows'

La solution a été compilée avec succès, mais après avoir ajouté un fichier de classe existant au projet, cette erreur est apparue:

L'exécutable de tâche spécifié "csc.exe" n'a pas pu être exécuté. Impossible de charger le fichier ou l'assembly 'System.Security.Principal.Windows, Version = 4.0.1.0, Culture = neutre, PublicKeyToken = b03f5f7f11d50a3a' ou l'une de ses dépendances. Le système ne peut pas trouver le fichier spécifié. MvcApplicationRegister

J'ai installé le paquet System.Security.Principal.Windows de NuGet, mais l'erreur persiste.

38
Mohammad Sadeghi

J'ai eu le même problème après avoir mis à niveau Microsoft.Net.Compiler de 2.8.2 à 2.9.0. Après avoir rétrogradé à la version 2.8.2, les projets compilés sans aucune erreur.

31
Synthie

Avait ce même problème et résolu.

Dans un contrôleur MVC à 3 projets (Web, Business, Data)

Causé par l'installation de Microsoft.Net.Compiler 2.9.0 sur le projet Web, mais pas par les autres projets.

Pour résoudre: Cliquez avec le bouton droit sur la solution. Gérer les paquets NuGet. Installé> Recherchez le compilateur Assurez-vous qu'il s'agit de la même version et qu'il est installé sur tous les projets de votre solution.

Une fois installée ma solution construite avec succès

15
Richard

Aucune des réponses précédentes n'a fonctionné pour moi.

Le problème était que je n'avais pas installé le Kit de développement .NET Compiler Platform.

Pour résoudre le problème, ouvrez Visual Studio Installer, choisissez "Modifier", puis sous l'onglet "Composant invididuel", vérifiez le Kit de développement logiciel (SDK) du compilateur .NET et confirmez vos modifications en cliquant sur "Modifier".

enter image description here

Après l’avoir installé et rouvert Visual Studio, le problème a disparu.

13
MMalke

Si vous utilisez Microsoft.CodeDom.Providers.DotNetCompilerPlatform, vous pouvez effectuer une mise à niveau vers la version 2.x, puis supprimer Microsoft.Net.Compilers en tant que il n'est plus nécessaire . Cela a résolu le problème pour moi, mais je ne pouvais même pas construire la solution en premier lieu. Il se plaignait toujours de System.Security.Principal.Windows bien que, je puisse aussi le résoudre en faisant référence à System.Security en tant qu'assemblée. C'est non recommandé si.

10
Oskar

Dans mon cas, je pourrais passer de _Microsoft.Net.Compilers 2.4.0_ à Microsoft.Net.Compilers 2.10.0. Pas besoin d'utiliser _Microsoft.Net.Compilers 2.8.2_.

4
Ogglas

J'ai désinstallé à la fois Microsoft.CodeDom.Providers.DotNetCompilerPlatform et Microsoft.Net.Compilers et tout fonctionne maintenant.

3
Lee Tickett

Fermez toutes les instances de Visual Studio. Puis rouvrez la solution et reconstruisez.

0
A123

Mettre à jour Microsoft.CodeDom.Providers.DotNetCompilerPlatform et supprimer Microsoft.Net.Compilers a fonctionné pour moi.

0
benjaminoerskov