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'.
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
J'ai essayé:
.csproj
et comparaison aux autres dans la solution (pas de joie).csproj
et écraser l'ancien (travail jusqu'à la fusion de la branche dans le coffre, puis le problème réapparait)Google n'a rien trouvé. Quelqu'un a-t-il une idée de ce qui se passe ici?
Comment j'ai résolu mon problème:
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.
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.
Voici la solution:
Vérifiez ce lien https://www.reddit.com/r/VisualStudio/comments/b8vbj8/help_netf461_project_opened_in_vs2019_all_files/
Sur la fenêtre latérale de "Microsoft.Net.Compilers", cliquez sur le bouton de mise à jour.
Donc, il suffit de mettre à jour Microsoft.Net.Compilers en fonction de votre version
Dans VS2017, j'ai pu résoudre ce problème en supprimant le dossier * .vs et les fichiers * .user.
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.
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
Après avoir essayé toutes les autres solutions proposées, voici ce qui a fonctionné pour moi:
.gitattributes
.*.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.
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.
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
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.