的System.Exception:找不到的MSBuild运行时单
我编写的Mac在Visual Studio 2017年社区的来源,我已经得到了以下错误:的System.Exception:找不到的MSBuild运行时单
Building: ServiceLayer.API (Debug)
Error: Build failed. See the build log for details. (ServiceLayer.API)
---------------------- Done ----------------------
Build failed.
Build: 1 error, 0 warnings
在Ide.log
日志文件中,我已经输入以下内容:
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
注:在类似381条线路上的每个试图建立总。 '堆栈跟踪结束'行重复52次。
这向我指出这条线在MonoDevelop中(参见:MSBuildProjectService.cs
):
throw new Exception ("Did not find MSBuild for runtime " + runtime.Id);
我检查和msbuild
命令存在于命令行:
$ 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
什么我已经尝试到目前为止:
- 我测试了两个通道(稳定和Beta)Visual Studio更新没有成功。
- 我试过清洁所有和重建所有。
- 我试过删除
~/Library/Caches/VisualStudio
中的缓存文件。 - 重新安装VisualStudio。
我在Visual Studio中,偏好...,项目,.NET运行时检查,我有最新的单设定为默认(至5.4。 X):
但是在调试时,它试图打开msbuild
为4.0.2代替,例如:
$ 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
不存在。
我应该如何添加丢失的的MSBuild我解决方案(项目)(按提到的错误)?
单声道4.0.2没有msbuild
,它被包含在4.8.0+中。检查/Library/Frameworks/Mono.framework/Versions/Current
(符号链接)指向的位置。它可能指向一些单声道5.x.y。尝试更改VSMac设置为在首选项 - >项目 - > .NET运行时间中使用的.NET运行时,以将其更新到最新版本。
由于某些原因,它仍然在4.0.2中查找它。我会尝试,至少暂时删除该4.0.2目录,然后检查。但除此之外,我认为你的安装被破坏了,我会尝试重新安装整个东西(VSMac,Mono,..)。
此外,请检查您的Ide.log
文件中的任何引用到4.0.2,之前的例外。
如果即使全新安装也遇到同样的问题,请在bugzilla.xamarin.com处提交错误,我们可以尝试在此处进行调试。
'/Library/Frameworks/Mono.framework/Versions/Current->/Library/Frameworks/Mono.framework/Versions/5.4.0' – kenorb
In _Preferences_我已经是最新的一个,它是5.4.0.201 – kenorb
对于一些它仍然在看'4.0.2'。我会尝试,至少暂时删除'4.0.2'目录然后检查。但除此之外,我认为你的安装被破坏了,我会尝试重新安装整个东西(VSMac,Mono,..)。如果即使全新安装也遇到同样的问题,请在https://bugzilla.xamarin.com/上提交错误,然后我们可以尝试在此处进行调试。 – radical
您的项目类型是什么?是桌面框架?对于一个新的空白c#项目,如类库,这个问题呢? –
@ Leo-MSFT这是一个服务API框架,它处理来自Web应用程序的API并与支付系统交谈。它在从Jenkins构建时运行在Windows slave上,所以基本上我试图在本地进行调试,但由于某种原因,VS基本上停止了正常工作。 – kenorb