2017-10-08 13 views
0

Je compile les sources dans Visual Studio 2017 pour Mac Communauté et j'ai l'erreur suivante:System.Exception: Vous ne trouvez pas MSBuild pour l'exécution Mono

Building: ServiceLayer.API (Debug) 
Error: Build failed. See the build log for details. (ServiceLayer.API) 
---------------------- Done ---------------------- 
Build failed. 
Build: 1 error, 0 warnings 

Dans Ide.log fichier journal, je ve l'entrée suivante:

ERROR [2017-10-08 20:20:45Z]: Inspector does not support this project type 
ERROR [2017-10-08 20:20:45Z]: Build failed. 
System.Exception: Did not find MSBuild for runtime Mono 4.0.2 (c99aa0c) 
    at MonoDevelop.Projects.MSBuild.MSBuildProjectService.GetNewestInstalledToolsVersion (MonoDevelop.Core.Assemblies.TargetRuntime runtime, System.Boolean requiresMicrosoftBuild, System.String& binDir) [0x0006e] in /Users/builder/data/lanes/5144/cab57de4/source/monodevelop/main/src/core/MonoDevelop.Core/MonoDevelop.Projects.MSBuild/MSBuildProjectService.cs:1087 
    at MonoDevelop.Projects.MSBuild.MSBuildProjectService+<GetProjectBuilder>d__100.MoveNext() [0x00133] in /Users/builder/data/lanes/5144/cab57de4/source/monodevelop/main/src/core/MonoDevelop.Core/MonoDevelop.Projects.MSBuild/MSBuildProjectService.cs:1116 
--- End of stack trace from previous location where exception was thrown --- 
    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() [0x0000c] in /Users/builder/data/lanes/4992/mono-mac-sdk/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 
    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /Users/builder/data/lanes/4992/mono-mac-sdk/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /Users/builder/data/lanes/4992/mono-mac-sdk/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 
    at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /Users/builder/data/lanes/4992/mono-mac-sdk/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 
    at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult() [0x00000] in /Users/builder/data/lanes/4992/mono-mac-sdk/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 
    at MonoDevelop.Projects.Project+<GetProjectBuilder>d__157.MoveNext() [0x001bb] in /Users/builder/data/lanes/5144/cab57de4/source/monodevelop/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/Project.cs:1418 
... 
ERROR [2017-10-08 20:21:16Z]: An unhandled exception has occured. Terminating Visual Studio? False 

notes: au total comme 381 lignes sur chaque tentative de construire. La ligne 'End of stack trace' est répétée 52 fois.

Cela m'a pointé cette ligne dans MonoDevelop (voir: MSBuildProjectService.cs):

throw new Exception ("Did not find MSBuild for runtime " + runtime.Id); 

J'ai vérifié et commande msbuild existent dans la ligne de commande:

$ which msbuild 
/Library/Frameworks/Mono.framework/Versions/Current/Commands/msbuild 
$ msbuild --version 
Microsoft (R) Build Engine version 15.4.0.0 (master/f296e67b Thu Sep 21 19:38:16 EDT 2017) for Mono 
$ stat /Library/Frameworks/Mono.framework/Versions/Current 
    File: /Library/Frameworks/Mono.framework/Versions/Current -> /Library/Frameworks/Mono.framework/Versions/5.4.0 

Qu'est-ce que J'ai essayé jusqu'à présent:

  • J'ai testé les deux canaux (Stable et Bêta) dans Visual Studio Update sans succès.
  • J'ai essayé de Nettoyer tous et Reconstruire tous. J'ai essayé de supprimer les fichiers de cache dans ~/Library/Caches/VisualStudio.
  • Réinstallation de VisualStudio.

J'ai vérifié dans Visual Studio, préférence ..., projets, runtimes .NET et j'ai le dernier Mono ensemble comme par défaut (à 5,4. x):

Mono, *Visual Studio*, *Preference...*, *Projects*, *.NET Runtimes*

Cependant, lorsque le débogage, il essaie d'ouvrir msbuild pour 4.0.2 à la place, par exemple:

$ sudo fs_usage -f pathname VisualStudio | grep -i msbuild 
12:34:38 stat64   /Library/Frameworks/Mono.framework/Versions/4.0.2/lib/mono/msbuild>>>>>>>>>>>>>>>>>>>>>> 0.000007 VisualStudio 
12:34:38 lstat64   /Library/Frameworks/Mono.framework/Versions/4.0.2/lib/mono/msbuild>>>>>>>>>>>>>>>>>>>>>> 0.000002 VisualStudio 
12:34:38 access   /Library/Frameworks/Mono.framework/Versions/4.0.2/lib/mono/msbuild>>>>>>>>>>>>>>>>>>>>>> 0.000002 VisualStudio 

qui n'existe pas.


Comment dois-je ajouter un manque MSBuild à mon Solution (projet) (comme par erreur mentionné)?

+0

Quel est le type de projet? Le cadre de bureau est-il? Que diriez-vous de ce problème pour un nouveau projet C# vide, comme la bibliothèque de classes? –

+0

@ Leo-MSFT Il s'agit d'une structure d'API de service qui gère les API depuis l'application Web et qui communique avec le système de paiement. Cela fonctionne sur un esclave Windows quand il est construit à partir de Jenkins, donc en gros j'essaye de le déboguer sur ma machine locale, mais VS a pratiquement cessé de fonctionner correctement pour une raison quelconque. – kenorb

Répondre

1

Mono 4.0.2 n'a pas eu msbuild, il a été inclus dans 4.8.0+. Vérifiez où pointe /Library/Frameworks/Mono.framework/Versions/Current (lien symbolique) vers. Il pointe probablement vers un mono 5.x.y. Essayez de modifier le runtime .NET que VSMac est configuré pour utiliser dans Preferences -> Projects -> .NET Runtimes, au plus récent.

Pour une raison quelconque, il est toujours à la recherche dans 4.0.2. Je voudrais essayer, au moins temporairement, supprimer ce répertoire 4.0.2, puis vérifier. Mais sinon je pense que votre installation est cassée et j'essaierais de réinstaller le tout (VSMac, Mono, ..).

En outre, vérifiez dans votre fichier Ide.log pour toute référence à 4.0.2, avant cette exception.

Si vous rencontrez le même problème, même avec une nouvelle installation, alors s'il vous plaît déposer un bug au bugzilla.xamarin.com et nous pouvons essayer de le déboguer là.

+0

'/Library/Frameworks/Mono.framework/Versions/Current ->/Library/Frameworks/Mono.framework/Versions/5.4.0' – kenorb

+0

Dans _Preferences_ J'ai déjà le dernier, qui est 5.4.0.201 – kenorb

+1

Pour certains raison pour laquelle il regarde toujours dans '4.0.2'. Je voudrais essayer, au moins temporairement, supprimer ce répertoire '4.0.2', puis vérifier. Mais sinon je pense que votre installation est cassée et j'essaierais de réinstaller le tout (VSMac, Mono, ..). Si vous rencontrez le même problème même avec une nouvelle installation, veuillez déposer un bug sur https://bugzilla.xamarin.com/ et nous pouvons essayer de le déboguer ici. – radical