如何在 Linux 上为 VB.NET 项目在 Monodevelop 中使用 MSBuild 引擎
How to use MSBuild engine in Monodevelop on Linux for a VB.NET project
当我尝试在 Monodevelop 中启用 MSBuild 构建 hello-world VB.NET 项目时,出现此错误。
'Error: Target named 'Build' not found in the project. (HelloWorld)'
项目将在禁用 MSBuild 功能时生成。我真的不知道我在做什么,但我正在努力让自己做好准备,这样我就可以开始编写 .NET 应用程序了。我不完全确定我需要这个功能,所以也许有人可以告诉我 MSBuild 的用途。谢谢
好的,由于对 VB.NET 的支持不如 C# 支持,因此这里存在一些 MonoDevelop 错误。
首先 MonoDevelop 没有将 <Import Project="$(MSBuildBinPath)\Microsoft.VisualBasic.targets" />
添加到 .vbproj 文件。
这被归档为 bug 554445
如果您将此导入添加到 .vbproj,则应修复有关缺少 'Build' 目标的错误。然而,你可能会 运行 进入下一个问题。
Mono 的 MSBuild 然后尝试使用 vbnc.exe,它目前似乎没有随 Mono 一起提供。
如果您通过在项目中将 VbToolExe 设置为 vbc.exe 来尝试使用 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 的默认内置支持。
当我尝试在 Monodevelop 中启用 MSBuild 构建 hello-world VB.NET 项目时,出现此错误。
'Error: Target named 'Build' not found in the project. (HelloWorld)'
项目将在禁用 MSBuild 功能时生成。我真的不知道我在做什么,但我正在努力让自己做好准备,这样我就可以开始编写 .NET 应用程序了。我不完全确定我需要这个功能,所以也许有人可以告诉我 MSBuild 的用途。谢谢
好的,由于对 VB.NET 的支持不如 C# 支持,因此这里存在一些 MonoDevelop 错误。
首先 MonoDevelop 没有将 <Import Project="$(MSBuildBinPath)\Microsoft.VisualBasic.targets" />
添加到 .vbproj 文件。
这被归档为 bug 554445
如果您将此导入添加到 .vbproj,则应修复有关缺少 'Build' 目标的错误。然而,你可能会 运行 进入下一个问题。
Mono 的 MSBuild 然后尝试使用 vbnc.exe,它目前似乎没有随 Mono 一起提供。
如果您通过在项目中将 VbToolExe 设置为 vbc.exe 来尝试使用 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 的默认内置支持。