Type ou espace de noms non trouvé "manque-t-il la référence d'assembly" alors que toutes les références sont correctes
Je suis en train d'utiliser MSBuildWorkspace classe . J'ai toutes les références d'assembly dans mon projet. Quand j'ai ouvert la référence dans l'objet du navigateur, je vois l'espace de noms et la classe je suis en train d'utiliser. Mais dans mon suivant à l'aide de déclaration,
using Microsoft.CodeAnalysis.MSBuild
Je suis
The type or namespace name 'MSBuild' does not exist in the namespace 'Microsoft.CodeAnalysis' (are you missing an assembly reference?)
Mais drôle que la Syntaxe surligneur reconnaît le nom du type, de ses le compilateur se plaindre
Ici est le journal de l'
1>c:\windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1605,5): warning MSB3258: The primary reference "Microsoft.CodeAnalysis.Workspaces" could not be resolved because it has an indirect dependency on the .NET Framework assembly "Microsoft.Build, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" which has a higher version "12.0.0.0" than the version "4.0.0.0" in the current target framework.
1>c:\windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1605,5): warning MSB3258: The primary reference "Microsoft.CodeAnalysis.VisualBasic.Workspaces" could not be resolved because it has an indirect dependency on the .NET Framework assembly "Microsoft.Build, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" which has a higher version "12.0.0.0" than the version "4.0.0.0" in the current target framework.
1>c:\windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1605,5): warning MSB3258: The primary reference "Microsoft.CodeAnalysis.CSharp.Workspaces" could not be resolved because it has an indirect dependency on the .NET Framework assembly "Microsoft.Build, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" which has a higher version "12.0.0.0" than the version "4.0.0.0" in the current target framework.
1>c:\windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1605,5): warning MSB3258: The primary reference "Microsoft.CodeAnalysis.Workspaces" could not be resolved because it has an indirect dependency on the .NET Framework assembly "Microsoft.Build.Framework, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" which has a higher version "12.0.0.0" than the version "4.0.0.0" in the current target framework.
1>c:\windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1605,5): warning MSB3258: The primary reference "Microsoft.CodeAnalysis.VisualBasic.Workspaces" could not be resolved because it has an indirect dependency on the .NET Framework assembly "Microsoft.Build.Framework, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" which has a higher version "12.0.0.0" than the version "4.0.0.0" in the current target framework.
1>c:\windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1605,5): warning MSB3258: The primary reference "Microsoft.CodeAnalysis.CSharp.Workspaces" could not be resolved because it has an indirect dependency on the .NET Framework assembly "Microsoft.Build.Framework, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" which has a higher version "12.0.0.0" than the version "4.0.0.0" in the current target framework.
1>c:\users\fahadash\documents\visual studio 2012\Projects\RoslynEditor\RoslynEditor\MainWindow.xaml.cs(37,36,37,43): error CS0234: The type or namespace name 'MSBuild' does not exist in the namespace 'Microsoft.CodeAnalysis' (are you missing an assembly reference?)
1>c:\users\fahadash\documents\visual studio 2012\Projects\RoslynEditor\RoslynEditor\MainWindow.xaml.cs(37,96,37,103): error CS0234: The type or namespace name 'MSBuild' does not exist in the namespace 'Microsoft.CodeAnalysis' (are you missing an assembly reference?)
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========
source d'informationauteur fahadash
Vous devez vous connecter pour publier un commentaire.
Donc:
Signifie que vous construisez avec votre projet de ciblage de l' .NET framework 4.0. Vous devriez être en ciblant 4.5.1 avec Visual Studio 2013. D'autres configurations sont pas pris en charge. Je ne recommande pas d'essayer de "forcer" cette par faire taire l'avertissement, qui peuvent juste causer des problèmes sur la route. Roslyn utilise les Api ajouté en 4.5, donc vous allez avoir des problèmes en essayant de réduire au silence la question.
J'ai trouvé ce billet de Blog de Nansen et j'ai appliqué le correctif et j'ai obtenu mon problème comme résolu.
Résumé de la solution:
Modifier le fichier csproj dans l'éditeur XML et de trouver les éléments pour les références qui vous préoccupe et ajoutez les éléments suivants élément enfant de ces.
<SpecificVersion>True</SpecificVersion>
Assurez-vous que le mot Vrai est seulement la première lettre en majuscules (le Vrai, pas vrai ou VRAI).
Sauvegarder et recharger le projet de VS et de le construire.
J'ai eu le même message d'erreur de construction généré à partir du serveur de création lors de l'utilisation d'une référence de projet à l'intérieur de mon projet de démarrage - il a bien fonctionné lors de la construction par le biais de la VS2013 IDE:
Après l'exécution de MSBuild.exe localement, au lieu de dans le serveur de build, j'ai été en mesure de reproduire l'erreur. L'examen de l' .fichier csproj pour le projet de référence par le déchargement de la solution, j'ai remarqué que j'avais la ligne suivante en haut:
J'ai mis à jour avec cette ligne à la suite de la syntaxe exacte du démarrage du projet:
Il s'avère que le DefaultTargets propriété doit être le même. C'est la raison pour laquelle le projet de référence n'était pas inclus avec le '/' paramenter lorsque vous essayez de compiler le projet avec la CSC.exe après l'exécution de la commande MSBuild.exe.
Il m'a fallu un certain temps pour trouver une solution à ce problème puisque je ne pouvais pas trouver quelque chose de similaire sur un forum. C'est un héritage de l'application qui a toujours été construit localement au lieu d'un serveur de build.
Par la façon dont, à l'aide de PSBuild (PowerShell interface MSBuild) avec Markdown Pad 2 fonctionne très bien en local pour essayer de résoudre des erreurs de build.