web-dev-qa-db-fra.com

Visual Studio 2017: "Référence d'objet non définie sur une instance d'objet" lors du chargement du projet

J'ai un projet dans la solution VS qui se charge correctement dans VS2015, mais il semble être corrompu dans VS2017 (RC2).

Dans l'explorateur de solutions, il indique que son "chargement a échoué" et lorsque j'essaie de le recharger, un message d'erreur indiquant le message "Référence d'objet non définie sur une instance d'objet" s'affiche.

 enter image description here

Je pensais que c'était peut-être parce que VS2017 avait modifié le fichier .csproj automatiquement pour ses besoins, mais après l'avoir comparé à la version de la solution VS2015, j'ai découvert qu'ils n'étaient pas différents.

Quelqu'un at-il vécu quelque chose comme ça? Et comment cela peut éventuellement être corrigé?

Merci.

8
Artyom Pranovich

Pour moi sur Visual Studio 2017, aucune des suggestions n'a fonctionné. Ce qui a fonctionné a été d’arrêter toutes les instances de Visual Studio et d’effacer le dossier .vs de la racine de la solution.

16
Mahmoud Al-Qudsi

J'ai réussi à le faire réparer. Pas sûr que ce soit une solution brillante, mais mieux que rien.

J'ai supprimé la ligne ci-dessous du fichier .csproj du projet ayant échoué après des dizaines de tests aléatoires.

<Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />

Maintenant, il se charge correctement et il semble bien fonctionner.

En fait, honnêtement, je n'ai aucune idée de ce que signifie cette ligne et j'apprécierai que quelqu'un qui puisse expliquer pourquoi se débarrasser de cette ligne résout le problème et, fondamentalement, pourquoi cette ligne est nécessaire.

5
Artyom Pranovich

Mes symptômes étaient que toutes les bibliothèques de classes de ma solution se chargeaient correctement, mais le projet MVC ne se chargeait pas du message d'erreur dans la question.

L'exécution de Visual Studio en tant qu'administrateur a résolu le problème pour moi.

1
dannygb

J'ai retiré le projet de la solution et réimporté "projet existant" dans la solution, puis un nouveau message d'erreur est apparu: votre projet existe à la fois sur IIS EXPRESS et IIS. mon cas: un site Web) dans IIS et réimporté le "projet existant" csproj à nouveau, puis cela a fonctionné

0
Xavave

Dans mon cas, c'était parce que j'utilisais IIS (pas IIS Express) et que je n'exécutais pas Visual Studio 2017 en tant qu'administrateur.

0
Michael Earls

J'ai eu la même erreur en travaillant avec c ++. J'ai fait V.S. désinstaller puis installer. Ensuite tout s'est bien passé. Cordialement.

0

La référence d'objet n'est pas définie à une instance d'un objet

C'est un message d'erreur assez merdique. Cela ne vous dit rien sur la façon de résoudre le problème. Je pense que cela peut s'apparenter à une erreur de protection générale ou à une exception de pointeur null - en d'autres termes, seul un bogue logiciel pourrait expliquer un tel échec de la notification d'un message utile (ce n'est sûrement pas "comme prévu"). Une recherche sur le Web révèle qu'il pourrait y avoir plusieurs causes - alors préparez-vous à un monde de blessures (ou mieux encore, abandonnez maintenant).

Dans mon cas, le correctif consistait à installer la version attendue du Kit de développement logiciel (SDK) de Windows 10, comme indiqué par TargetPlatformVersion dans le fichier .csproj.

0
nobar