gpt4 book ai didi

linux - 如何在 Linux 上的 Monodevelop 中为 VB.NET 项目使用 MSBuild 引擎

转载 作者:太空宇宙 更新时间:2023-11-04 12:20:07 25 4
gpt4 key购买 nike

当我尝试在 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,则应修复有关缺少“构建”目标的错误。然而,您可能会遇到下一个问题。

然后 Mono 的 MSBuild 尝试使用目前似乎没有随 Mono 一起提供的 vbnc.exe。

如果您尝试通过在项目中将 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)

为此记录了另一个错误,但这是一个私有(private)错误,因此您看不到它。

因此,目前 VB.NET 项目不使用 MSBuild 进行编译,因此您需要使用 xbuild 或在 MonoDevelop 中使用 vbc.exe 的默认内置支持。

关于linux - 如何在 Linux 上的 Monodevelop 中为 VB.NET 项目使用 MSBuild 引擎,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46266861/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com