使用 mono/xbuild 编译 VS2015 应用程序时遇到问题

本文关键字:应用程序 遇到 问题 VS2015 编译 mono xbuild 使用 | 更新日期: 2023-09-27 18:35:39

我是编程新手,但对Linux并不陌生。我最近开始了一门 C# 编程课程,我们使用 Visual Studio 2015 编写应用程序,因此使用 MSbuild 来编译它们。但是,在家里我想用单声道编译所有内容,但是当我尝试时,我遇到了几个错误,它拒绝编译。这是我运行的程序:

$ xbuild Dice_Game.sln

这是 stderr:

Errors:
/home/dj/programs/c#_programs/Dice_Game/Dice_Game.sln (default targets)  ->
(Build target) ->
/home/dj/programs/c#_programs/Dice_Game/Dice_Game.csproj (default     targets) ->
/usr/local/lib/mono/xbuild/12.0/bin/Microsoft.CSharp.targets     (CoreCompile target) ->
CSC: error CS0518: The predefined type `System.Object' is not defined or imported
CSC: error CS0518: The predefined type `System.ValueType' is not defined or imported
CSC: error CS0518: The predefined type `System.Attribute' is not defined or imported
CSC: error CS0518: The predefined type `System.Int32' is not defined or imported
CSC: error CS0518: The predefined type `System.UInt32' is not defined or imported
CSC: error CS0518: The predefined type `System.Int64' is not defined or imported
CSC: error CS0518: The predefined type `System.UInt64' is not defined or imported
CSC: error CS0518: The predefined type `System.Single' is not defined or imported
CSC: error CS0518: The predefined type `System.Double' is not defined or imported
CSC: error CS0518: The predefined type `System.Char' is not defined or imported
CSC: error CS0518: The predefined type `System.Int16' is not defined or imported
CSC: error CS0518: The predefined type `System.Decimal' is not defined or imported
CSC: error CS0518: The predefined type `System.Boolean' is not defined or imported
CSC: error CS0518: The predefined type `System.SByte' is not defined or imported
CSC: error CS0518: The predefined type `System.Byte' is not defined or imported
CSC: error CS0518: The predefined type `System.UInt16' is not defined or imported
CSC: error CS0518: The predefined type `System.String' is not defined or imported
CSC: error CS0518: The predefined type `System.Enum' is not defined or imported
CSC: error CS0518: The predefined type `System.Delegate' is not defined or imported
CSC: error CS0518: The predefined type `System.MulticastDelegate' is not defined or imported
CSC: error CS0518: The predefined type `System.Void' is not defined or imported
CSC: error CS0518: The predefined type `System.Array' is not defined or imported
CSC: error CS0518: The predefined type `System.Type' is not defined or imported
CSC: error CS0518: The predefined type `System.Collections.IEnumerator' is not defined or imported
CSC: error CS0518: The predefined type `System.Collections.IEnumerable' is not defined or imported
CSC: error CS0518: The predefined type `System.IDisposable' is not defined or imported
CSC: error CS0518: The predefined type `System.IntPtr' is not defined or imported
CSC: error CS0518: The predefined type `System.UIntPtr' is not defined or imported
CSC: error CS0518: The predefined type `System.RuntimeFieldHandle' is not defined or imported
CSC: error CS0518: The predefined type `System.RuntimeTypeHandle' is not defined or imported
CSC: error CS0518: The predefined type `System.Exception' is not defined or imported
 4 Warning(s)
 31 Error(s)
Time Elapsed 00:00:01.2374970

似乎我可以完成这项工作...我只是对 Mono 没有足够的经验来让它工作。任何帮助将不胜感激。

使用 mono/xbuild 编译 VS2015 应用程序时遇到问题

请将项目的目标框架更改为 .NET 4.5。

目前 Mono 不支持 .NET 4.5.1 及更高版本。

把我的头发扯了一半。有很多方法可以安装 Mono,有些会安装过时的版本。我记得遵循VS Code和Omnisharp的一些说明。

因此,要获得最新的安装,请按照 mono 下载页面上的说明设置 apt 源,然后执行以下操作:

sudo apt install --reinstall mono-complete
sudo apt upgrade

xbuild开始工作,但说它已被弃用,所以使用msbuild.

在我的 Ubuntu 仿生设置上,这是通过安装 mono-reference-assemblies-* 包来修复的。(由于某种原因,它们没有与mono-devel一起安装 )

相关文章: