Réponses:
Ouvrez votre fichier csproj dans le bloc-notes (ou notepad ++) Trouvez la ligne:
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
et changez-le en
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
Il s'agit d'une solution globale, indépendante d'un package ou d'un bac particulier.
Dans mon cas, j'ai supprimé le dossier Packages de mon répertoire racine.
Peut-être que cela arrive parce que vos packages sont là, mais le compilateur ne trouve pas sa référence. alors supprimez d'abord les anciens packages et ajoutez de nouveaux packages.
Étapes pour ajouter de nouveaux packages
Ce n'est pas une bonne solution, mais je l'ai publiée ici car je suis confronté au même problème.
Dans mon cas, je n'ai même pas pu ouvrir ma solution dans Visual Studio et je n'ai pas obtenu d'aide pour d'autres réponses SO.
Microsoft.CSharp.targets
fichier a été supprimé pour une raison quelconque! comme vous l'avez dit, j'ai supprimé le packages
dossier et redémarré Visual Studio, comme par magie cela a fonctionné!
Pour moi, le problème était que le chemin du projet contenait% 20 caractères, car git les ajoutait au lieu d'espaces lorsque le référentiel était cloné. Un autre problème peut être si le chemin d'accès à un package est trop long.
git clone <RepoUrl> <LocalDirName>
pour spécifier le nom du répertoire dans lequel cloner pour éviter d'avoir le% 20
Ce lien sur MSDN aide également beaucoup à comprendre la raison pour laquelle cela ne fonctionne pas. $ (MSBuildToolsPath) est le chemin vers Microsoft.Build.Engine v3.5 (inséré automatiquement dans un fichier projet lorsque vous créez dans VS2008). Si vous essayez de générer votre projet pour .Net 2.0, assurez-vous que vous avez changé ce chemin en $ (MSBuildBinPath) qui est le chemin d'accès à Microsoft.Build.Engine v2.0.
Dans mon cas, je n'ai pas pu charger un projet sur 5 dans ma solution.
Cela a aidé à fermer Visual Studio et j'ai dû supprimer le Microsoft.Net.Compilers.1.3.2
dossier nuget sous le packages
dossier.
Ensuite, ouvrez à nouveau votre solution et le projet est chargé comme prévu
Pour être sûr, fermez toutes les instances de VS avant de supprimer le dossier.
Si vous rencontrez l'erreur qui dit Microsoft.CSharp.Core.targets not found
, voici les étapes que j'ai suivies pour corriger la mienne:
Ouvrez n'importe quel dossier de projets de travail précédents et accédez au lien indiqué dans l'erreur, c'est-à-dire Projects/(working project name)/packages/Microsoft.Net.Compilers.1.3.2/tools/
recherchez le Microsoft.CSharp.Core.targets
fichier.
Copiez ce fichier et placez-le dans le projet non fonctionnel tools folder
(c'est-à-dire en accédant au dossier d'outils dans le projet non opérationnel comme indiqué ci-dessus)
Fermez maintenant votre projet (s'il était ouvert) et rouvrez-le.
Cela devrait fonctionner maintenant.
En outre, pour vous assurer que tout fonctionne correctement dans votre projet Visual Studio maintenant ouvert, accédez à Tools > NuGetPackage Manager > Manage NuGet Packages For Solution
. Ici, vous pouvez trouver une erreur indiquant que CodeAnalysis.dll est utilisé par une autre application.
Encore une fois, allez dans tools folder
, recherchez le fichier spécifié et supprimez-le. Revenez à Manage NuGet Packages For Solution
. Vous trouverez un lien qui vous demandera de recharger, cliquez dessus et tout sera réinstallé.
Votre projet devrait fonctionner correctement maintenant.
J'ai eu ceci après avoir réinstallé Windows. Visual Studio était installé et je pouvais voir le type de projet Silverlight dans la fenêtre Nouveau projet, mais en ouvrir un ne fonctionnait pas. La solution était simple: je devais installer le runtime Silverlight Developer et / ou les outils Microsoft Silverlight 4 pour Visual Studio. Cela peut sembler stupide, mais je l'ai négligé car je pensais que cela devrait fonctionner, car le type de projet Silverlight était disponible.
Dans mon cas, j'ai ouvert mon fichier .csproj dans le bloc-notes et supprimé les trois lignes suivantes. A travaillé comme un charme:
<Import Project="..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props" Condition="Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" />
<Import Project="..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props" Condition="Exists('..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props')" />
<Import Project="..\packages\Microsoft.Net.Compilers.1.3.2\build\Microsoft.Net.Compilers.props" Condition="Exists('..\packages\Microsoft.Net.Compilers.1.3.2\build\Microsoft.Net.Compilers.props')" />
ok alors que faire s'il dit ceci: entre les signes gt / lt
Importer un projet = "$ (MSBuildExtensionsPath) \ Microsoft \ Silverlight \ v3.0 \ Microsoft.Silverlight.CSharp.targets" /
comment corriger l'erreur des cibles?
J'ai également trouvé cette chaîne d'importation dans un projet de démonstration (en particulier "Construisez votre propre MVVM Framework" par Rob Eisenburg).
Si vous remplacez que l' importation avec celle proposée par lomaxx VS2010 RTM rapports que vous devez installer ce .
Pour les erreurs avec Microsoft.WebApplications.targets
, vous pouvez:
Microsoft.WebApplication.targets
» du fichier de la machine de développement vers la machine de construction TFS.Voici le post.
Cette erreur peut également se produire lors de l'ouverture d'un projet Silverlight qui a été construit dans SL 4, alors que SL 5 est installé.
Voici un exemple de message d'erreur: Le projet importé «C: \ Program Files (x86) \ MSBuild \ Microsoft \ Silverlight \ v4.0 \ Microsoft.Silverlight.CSharp.targets» n'a pas été trouvé.
Notez la v4.0.
Pour résoudre, modifiez le projet et recherchez:
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
Et changez-le en v5.0.
Puis rechargez le projet et il s'ouvrira (sauf si vous n'avez pas installé SL 5).
J'ai supprimé le dossier obj, puis le projet s'est chargé comme prévu.
Parfois, le problème peut provenir de la version VS codée en dur dans le fichier .csproj. Si vous avez dans votre csproj quelque chose comme ceci:
[...]\VisualStudio\v12.0\WebApplications\Microsoft.WebApplication.targets"
Vous devez vérifier si le numéro est correct (la raison pour laquelle il est incorrect peut être que le projet a été créé avec une autre version de Visual Studio). Si ce n'est pas le cas, remplacez-le par votre version actuelle des outils de construction OU utilisez la variable VS:
[...]\VisualStudio\v$(VisualStudioVersion)\WebApplications\Microsoft.WebApplication.targets"
J'ai rencontré ce problème lors de l'exécution d'un playbook Ansible, je veux donc ajouter mes 2 cents ici. J'ai remarqué un message d'avertissement concernant l'absence de Visual Studio 14. La version 14 de Visual Studio a été publiée en 2015 et la solution à mon problème consistait à installer Visual Studio 2015 Professional sur la machine hôte de mon agent Azure DevOps.
Microsoft.CSharp.Targets
àMicrosoft.CSharp.targets
dans les.csproj
fichiers.