web-dev-qa-db-fra.com

Visual Studio - le projet apparaît en tant que "Fichiers divers"

C'est un étrange. J'ai un projet de bibliothèque de classes C # dans ma solution. Si j'ouvre un fichier .cs dans ce projet, la liste déroulante Project de l'éditeur de code indique qu'il appartient à 'Fichiers divers'.

Screenshot of the problem

Autres symptômes: si je vais dans les propriétés du projet et que je regarde Assembly Information, toutes les valeurs sont vides, malgré les valeurs existantes dans le fichier AssemblyInfo.cs.

Les deux sont agaçants, mais le problème est que

  • Je n'obtiens pas intellisense sur les fichiers du projet
  • Je n'arrive pas à parcourir le débogueur (cela m'indique que les fichiers n'appartiennent pas à la solution et ne peuvent donc pas être débogués).

Assembly info is blank

J'ai essayé:

  • Combinaison dans le fichier .csproj et comparaison aux autres dans la solution (pas de joie)
  • Recréer le fichier .csproj et écraser l'ancien (travail jusqu'à la fusion de la branche dans le coffre, puis le problème réapparait)
  • Me taper la tête sur le clavier (mal de tête)

Google n'a rien trouvé. Quelqu'un a-t-il une idée de ce qui se passe ici?

19
Keith Williams

Comment j'ai résolu mon problème:

  1. Accédez au fichier qui apparaît sous la forme Fichiers divers à l'intérieur de l'Explorateur de solutions.
  2. Cliquez avec le bouton droit sur le fichier et sélectionnez Exclure du projet.
  3. Cliquez avec le bouton droit de la souris sur votre projet/dossier dans lequel se trouvait le fichier, cliquez sur Ajouter un élément existant, puis réajoutez le fichier que vous venez de supprimer à votre projet.
29
KING

J'ai aussi ce problème dans VS 2017.
J'ai constaté que ces fichiers miscellaneous sont des fichiers ajoutés à l'extérieur du VS. Donc, si vous passez à une autre branche git (où il y a de nouveaux fichiers) sans fermer le VS et cliquez sur le bouton "Recharger" dans VS (quand il vérifie que les fichiers sln/csproj sont modifiés en dehors du VS), ces nouveaux fichiers ne sont pas analysés correctement par VS et "marqué" par miscellaneous.

En guise de solution de contournement, je ferme VS, supprime le dossier .vs du disque et lance à nouveau VS. Après l’initialisation complète de VS, ces nouveaux fichiers sont analysés avec succès. Remarque: cette procédure efface les paramètres personnalisés tels que StartUp Project et ainsi de suite.

8
Gendolph

J'ai eu exactement le même problème et il s'est avéré que certains fichiers XAML de mon projet étaient conçus pour être générés à l'aide de l'action 'XamlAppDef' (c'est-à-dire le construire en tant que workflow XAML) et lorsque je l'ai rétablie en 'Compiler', La liste déroulante Mon projet est instantanément passée de (Fichiers divers) au bon projet.

4
JJP

Voici la solution:

  • Allez dans Options dans le menu Outils puis sélectionnez Documents dans le nœud Environnement . (Si Documents ne figure pas dans la liste, sélectionnez Afficher tous les paramètres dans la boîte de dialogue Options.)
  • Cochez " Fichiers divers dans l'Explorateur de solutions " et cliquez surOK. (Cette option affiche le noeud "Fichiers divers" dans l'Explorateur de solutions. Les fichiers divers sont des fichiers qui sont pas associé à un projet ou à une solution, mais peut apparaître dans l'Explorateur de solutions pour plus de commodité si vous cochez cette option.)
  • Localisez votre fichier dans l'Explorateur de solutions sous "Fichiers divers". Ensuite, faites glisser votre fichier là où il devrait appartenir et le tour est joué! Cela va copier le fichier où vous le déposez. Vous pouvez maintenant supprimer en toute sécurité l'ancien fichier du dossier Fichiers divers si vous le souhaitez.
4
Xindaar

Vérifiez ce lien https://www.reddit.com/r/VisualStudio/comments/b8vbj8/help_netf461_project_opened_in_vs2019_all_files/

  1. Faites un clic droit sur "Références" dans l'explorateur de solutions
  2. Sélectionnez "Gérer les paquets NuGet"
  3. Sous l'onglet "Installé", recherchez "Microsoft.Net.Compilers".
  4. Sélectionnez "Microsoft.Net.Compilers"
  5. Sur la fenêtre latérale de "Microsoft.Net.Compilers", cliquez sur le bouton de mise à jour.

    • VS2015 est compatible avec .NET Compiler 1.x.x
    • VS2017 est compatible avec .NET Compiler 2.x.x
    • VS2019 est compatible avec .NET Compiler 3.x.x

Donc, il suffit de mettre à jour Microsoft.Net.Compilers en fonction de votre version

4
Maksym Manziuk

Dans VS2017, j'ai pu résoudre ce problème en supprimant le dossier * .vs et les fichiers * .user.

3
Chandra Rana

D'une manière ou d'une autre, j'ai résolu ce problème en accédant aux propriétés (cliquez avec le bouton droit sur le fichier et sélectionnez Propriétés). L'action de génération a été définie sur Contenu. Il suffit de le changer pour Compiler et résoudre le problème.

0
Joseph Kwan

peut-être ne pouvez-vous ouvrir le projet d'erreur que dans une autre solution et ajouter le projet dont vous avez besoin dans la nouvelle solution

0
我零0七

Après avoir essayé toutes les autres solutions proposées, voici ce qui a fonctionné pour moi:

  • Modification du fichier .gitattributes.
  • ajout de *.xproj text eol=crlf

Ainsi, mes projets .NET Core/Standard de style VS2015 xproj ont fonctionné à nouveau.

Il s'est avéré que ma git mettait un EOL de style UNIX, ce qui déroutait VS.

0
Jesse Chisholm

S'il ne s'affiche pas dans votre Explorateur de solutions, essayez de cliquer sur le bouton "Afficher tous les fichiers" en haut de l'Explorateur de solutions. Si les fichiers deviennent visibles et se trouvent sous le projet, vous vous attendez à ce qu'ils figurent dans le fichier, mais le fichier contient toujours "Divers", puis faites un clic droit sur les fichiers et sélectionnez "Inclure dans le projet". Sinon, essayez de les faire glisser vers le bon projet.

Je viens juste d’atteindre ce problème dans VS 2017 et c’est ce qui a fonctionné pour moi.

0
user11406962

Si le problème persiste, vous pouvez vérifier vos packages Nuget. Par défaut, dans VS 2017, certains projets incluraient des références à diverses bibliothèques de compilateur de Microsoft. Celles-ci ne sont presque certainement pas nécessaires. Dans mon cas, les supprimer immédiatement a résolu le problème des fichiers divers.

Je ne me souviens plus exactement des nugets mais je suis presque sûr que l'un d'entre eux était - Microsoft.CodeDom.Providers.DotNetCompilerPlatform

0
say_wha

En raison de TypeScript, vérifiez que votre fichier correspond au modèle spécifié dans le fichier tsconfig.json de la section "include". Si le fichier .ts n'est pas intégré à tsconfig, alors intellicense l'affichera sous la forme Divers.

0
Pavel