Mon équipe dispose d'une application Web MVC qui a été intégrée dans .NET 4.5.2, mais a été mise à niveau vers la version 4.6.1. Pour tout le monde dans mon équipe, ils peuvent le charger correctement dans leurs instances de VS 2017, mais le projet ne se chargera pas dans le mien. Je reçois une erreur contextuelle "Référence d'objet non définie sur une instance d'un objet."Le projet MVC ne se charge pas dans mon environnement VS 2017 en raison du problème MSBuild
je peux obtenir le projet à charger dans VS si je commente cette ligne dans le fichier .csproj
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
Mais évidemment, cela est nécessaire, car en laissant les causes toutes sortes d'erreurs de compilation MSBuild impaires. En réitérant, ce problème ne s'est pas produit pour mes collègues!
J'ai même exécuté l'option de réparation dans Visual Studio Installer et cela n'a pas corrigé la situation. Puisque je ne peux pas exécuter la construction sur ce projet, j'ai vérifié la valeur de la variable MSBuildBinPath d'un projet différent (en insérant une déclaration de message dans le fichier projet) et vérifié que le fichier Microsoft.CSharp.targets est présent à cet endroit. Essayez d'effacer le cache Visual Studio et de redéfinir vos paramètres Visual Studio.
Est-ce que cela aide à changer la référence du chemin bin vers '$ (MSBuildToolsPath)'? le chemin d'outil peut être différent pour 2017 –
@MartinUllrich Je n'ai pas essayé ceci spécifiquement. En cherchant une réponse au problème, j'ai rencontré des problèmes similaires où passer de $ (MSBuildToolsPath) à $ (MSBuildBinPath) a résolu leur problème, mais je n'ai jamais essayé l'inverse. – jpaull