当我尝试在Monodevelop中启用MSBuild构建一个hello-world VB.NET项目时,我收到此错误。
'Error: Target named 'Build' not found in the project. (HelloWorld)'
禁用MSBuild功能时,将构建项目。我真的不知道自己在做什么,但是我试图让自己安排下来,这样我才能开始编写.NET应用程序。我不完全确定我需要这个功能,所以也许有人可以告诉我MSBuild的用途。感谢。
答案 0 :(得分:0)
好的,所以这里有一些MonoDevelop错误,因为支持VB.NET不如C#支持。
首先,MonoDevelop不会将<Import Project="$(MSBuildBinPath)\Microsoft.VisualBasic.targets" />
添加到.vbproj文件中。
这是以bug 554445
提交的如果您将此导入添加到.vbproj,则会显示有关缺少的&#39; Build&#39;目标应该是固定的。然而,你可能会遇到下一个问题。
单声道的MSBuild然后尝试使用vbnc.exe,目前似乎没有随Mono一起提供。
如果您尝试使用vbc.exe而不是将VbToolExe设置为项目中的vbc.exe:
<VbcToolExe>vbnc.exe</VbcToolExe>
然后你遇到另一个例外。
System.TypeInitializationException: The type initializer for 'Microsoft.CodeAnalysis.VisualBasic.VisualBasicCommandLineParser' threw an exception. ---> System.TypeLoadException: Could not resolve type with token 01000286 (from typeref, class/assembly Roslyn.Utilities.IObjectReadable, Microsoft.CodeAnalysis, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35)
此处还记录了另一个错误,但它是一个私有错误,因此您无法看到它。
因此,目前VB.NET项目无法使用MSBuild进行编译,因此您需要使用xbuild或默认内置支持在MonoDevelop中使用vbc.exe。