如何在 Debian 10/9 上安装 Mono

2023-11-16

Mono 项目由微软赞助。它是 Microsoft .NET Framework 的开源跨平台实现。 Mono 支持大多数具有 32 位和 64 位架构的现代操作系统。本教程帮助您逐步在 Debian 10 和 Debian 9 系统上安装 Mono。

有用的教程:

  • 如何在 Debian 上安装 Visual Studio Code

先决条件

使用 sudo 特权帐户通过 SSH 或 Shell 访问 Debian 系统。

在 Debian 上安装 Mono

首先,在 Debian 系统上安装一些必需的软件包并导入 GPG 密钥。


sudo apt install gnupg ca-certificates
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys D3D831EF
  

现在,在您的系统上添加官方网站提供的 Apt 存储库。使用以下命令之一将 Mono 存储库添加到基于 Ubuntu 版本的系统。


### Debian 10 (Buster) 

echo "deb https://download.mono-project.com/repo/debian stable-buster main" | sudo \
   tee /etc/apt/sources.list.d/mono-stable.list

### Debian 9 (Xenial) 

echo "deb https://download.mono-project.com/repo/debian stable-xenial main" | sudo \
   tee /etc/apt/sources.list.d/mono-stable.list
  

添加存储库后。更新 apt 缓存并在 Ubuntu 系统上安装 Mono 软件包。


sudo apt update
sudo apt install mono-complete mono-devel
  

The 单一开发package用于编译代码。这单一完整的软件包用于安装系统上的所有内容。

查找单声道版本

系统上的安装完成后。让我们使用以下命令检查已安装的 Mono 版本。


mono --version
  

Output:


Mono JIT compiler version 6.8.0.105 (tarball Tue Feb  4 21:20:20 UTC 2020)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
        TLS:           __thread
        SIGSEGV:       altstack
        Notifications: epoll
        Architecture:  amd64
        Disabled:      none
        Misc:          softdebug
        Interpreter:   yes
        LLVM:          yes(610)
        Suspend:       hybrid
        GC:            sgen (concurrent by default)
  

使用 Mono 运行 C# 示例

因为你已经在 Ubuntu 系统上安装了 Mono。创建一个示例 C# 程序以与 Mono 一起运行。创建 Welcome.cs 文件并在您喜欢的文本编辑器中进行编辑。


vim Welcome.cs
  

将以下值添加到文件中。

1
2
3
4
5
6
7
8
9
using System;
 
public class Welcome
{
    public static void Main(string[] args)
    {
        Console.写行 (“欢迎来到 TecAdmin.net”);
    }
}

保存文件并关闭它。然后使用以下命令使用 C# 编译器编译 C# 程序。


csc Welcome.cs
  

编译成功后,会在本地目录下生成一个与script同名的exe文件。在这种情况下,我的本地目录中会生成一个 Welcome.exe 文件。

然后,设置新创建的可执行文件的执行权限。之后按以下命令运行程序。


chmod +x Welcome.exe
./Welcome.exe
  

查看屏幕上的结果:

全部完成后,您已经在 Debian 系统上成功安装了 Mono。接下来您可能需要安装 Visual Studio 代码在 Debian Linux 系统上。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Debian 10/9 上安装 Mono 的相关文章

  • 目前Mono虚拟机的性能如何?

    网络上充斥着不同语言 编译器 虚拟机的各种性能测试 然而 几乎没有任何一个使用真实场景来测试性能 此外 在 Google 上搜索此类基准通常只会产生几年前的基准 因为这些基准有最多的时间来收集它们的链接 你们中有人真正了解不同虚拟机的当前性
  • 如何为 Debian/Ubuntu 打包 Mono 应用程序

    是否有任何用于为 Debian Ubuntu 打包 Mono 应用程序的指南或工具 比如将应用程序附带的程序集放在哪里等 Mono 有一些关于打包的一般准则 但这些准则并非特定于 Debian Ubuntu 它们的做法可能有所不同 http
  • mkbundle 和 GTK#

    我正在尝试使用 mkbundle 以便我可以分发 GTK 应用程序 而无需用户安装 NET Mono 或 GTK 我已经成功捆绑了一个使用 winforms 的应用程序 但由于某种原因 当我对 GTK 应用程序执行相同操作时 它无法工作 这
  • Mono .Net 支持异步等待吗?

    我想知道 Linux 上的 Mono 是否支持使用 async wait 关键字功能编写自托管 WebApi 项目 I found this on the Mono website on the compability page 然后有一些
  • 无法使用 mono 命令提示符为 gtk# 编译 hello.cs

    本来希望this https stackoverflow com questions 8835352 cannot compile gtk example会有所帮助 但会出现不同的错误 尝试将以下内容编译为 hello cs using G
  • Mono.Math.BigInteger 由于其保护级别而无法访问

    我正在使用 ideone 编写 C 程序 这是我第一次使用 Mono 我正在尝试使用 BigInteger 类 Mono Math BigInteger 但我不断收到错误 下面是我的代码 这是怎么回事 我该如何解决 谢谢 using Sys
  • Mono WebClient 编码问题

    我正在尝试移植 NET应用程序从 Windows 到 Mono 但某些在 Windows 上运行的代码不再运行 正如预期的那样 on mono WebClient client new WebClient Console WriteLine
  • Mono 的 DNS 刷新超时

    虽然目前Mono项目的ServicePointManager类有DnsRefreshTimeout属性启用到其接口中 相关属性未实现 调用示例 ServicePointManager DnsRefreshTimeout 10 60 1000
  • 如何从与桌面交互的应用程序与 Windows 服务进行通信?

    使用 Net 与服务交互的最佳方式是什么 即大多数托盘应用程序如何与其服务器通信 如果这个方法也是跨平台的 那就更好了 在 Mono 中工作 所以我猜远程处理已经过时了 Edit 忘了说了 我们仍然需要在现场支持 Windows 2000
  • 在 Kali (Debian) 中安装 mono-devel 时,软件包具有未满足的依赖关系

    我尝试安装 mono devel 并输入sudo apt get mono devel在终端中 但失败了 得到以下结果 apt get install mono devel Reading package lists Done Buildi
  • Microsoft 开源 .NET 后 CoreCLR 与 Mono 项目的关系

    有人可以向我解释一下 Mono 和 Microsoft 最近提供的开源 Linux 可移植 NET 堆栈 CoreCLR CoreFX Roslyn ASP NET 之间当前的关系吗 很明显这些项目是重叠的 所以我很好奇它们两个的路线图是什
  • href 中的 Mono ASP.NET MVC 波形符导致 System.NotImplementedException

    我正在尝试在 Ubuntu 14 04 1 上使用 Mono 3 12 0 制作 ASP NET 应用程序 每当我尝试在我的 href 中使用波浪号时 Layout cshtml 我得到一个System NotImplementedExce
  • 用 C# 编写插件或插件框架

    我正在用 C 编写一个 Addin 框架 我想知道如何使 Addin 可以卸载而无需重新启动应用程序 我听说过 AppDomains 但是它们是如何工作的呢 外接程序是否可以添加可扩展性类并通过接口在主应用程序域中调用 并且仍然可卸载并调用
  • 在 Xamarin.Mac 应用程序包上运行 Instruments

    米格尔 德伊卡萨 https stackoverflow com users 16929 miguel de icaza博客上写了关于使用 Instruments 分析使用 Mono 构建的 Mac 应用程序 http tirania or
  • C# 中的 Unix 套接字

    我正在尝试使用 Mono 的 UnixEndPoint 但在使用它之前就失败了 我在 64 位 Windows 7 系统上运行 Xamarind net 4 5 下面是一些代码 证明单一组合不起作用 foreach SocketType s
  • Mono for Android是一个需要安装在android设备上的框架还是一个编译为java字节码的编译器?

    我试图了解 android 的 mono 是如何工作的 但我在官方网站上没有找到这个解释 考虑到android读取java字节码 Mono for Android是一个需要安装在android设备上的框架还是一个编译为java字节码的编译器
  • Visual Studio 2010 中的 GTK#

    我一整天都在尝试让 GTK 在 Windows Server 2008 R2 x64 上的 Visual Studio 2010 中工作 以便我可以开始编写漂亮的跨平台 GUI 应用程序 但我对 C 有点陌生 我有一个世界的麻烦 我安装了最
  • 命名互斥体的 Mono 替代方案

    在 Windows NET 上 命名的互斥体可用于同步多个进程 不幸的是 Mono 在 Linux 上不太支持这一点 他们的发行说明 http www mono project com Release Notes Mono 2 8 Shar
  • 在控制器构造函数中访问 GUI 组件时出现 NullReferenceException

    在 Mono 中 我有一个带有控制器的简单 NSWindow 我放置了一个 NSSplitView 和一个 NSButton 如果我尝试从构造函数中访问 NSSplitView 或Initialize 方法我得到一个 nullReferen
  • GTK+ (GTKSharp) 在 Windows 中性能不佳

    在我的跨平台 Mono C 项目中 我使用 GTK 作为 UI 然而我注意到的一件事是 在我的 Archlinux 上网本上 性能非常快 因此诸如鼠标悬停和重新绘制小部件等事件都非常快 与双核CPU上的Windows 7 相比 性能确实很弱

随机推荐

  • VM600 MPC4 IOCT16T CMC16 保护其设备免受篡改或网络攻击

    VM600 MPC4 IOCT16T CMC16 保护其设备免受篡改或网络攻击 推出Protection Suite 其中包括CodeMeter加密和许可工具 使制造商能够快速轻松地保护其现成的软件和专有技术免受盗版和逆向工程的侵害 并保护
  • 链接数据库 报错java.sql.SQLException: Unsupported character encoding ‘utf-8......

    项目启动报如下错误信息 java sql SQLException Unsupported character encoding utf 8 serverTimezone 分析 由 java sql SQLException 可知道很大概率
  • 大数据-linux免密登录

    操作 mini yum服务器 A root sizhan ssh keygen Generating public private rsa key pair Enter file in which to save the key root
  • JavaScript实现点击复制(JS访问剪贴板相关)

    一 具体代码 网页前端开发中有时会出现这样的场景 让用户点击某个按钮 然后就能直接复制对应的文本内容 让用户可以将文本内容粘贴到想要粘贴的地方 常用于分享功能模块中 如果想要实现这种效果就需要我们去访问用户的剪贴板 然后把想要复制的内容写入
  • logging模块详细使用

    啄木鸟社区里的Pythonic八荣八耻有一条 以打印日志为荣 以单步跟踪为耻 很多程序都有记录日志的需求 并且日志中包含的信息既有正常的程序访问日志 还可能有错误 警告等信息输出 python的logging模块提供了标准的日志接口 你可以
  • 公司取名字-免费查询参考(中英文2023年精选100个)公司名字集

    中文名称 1 星辰科技 2 卓越集团 3 璀璨科技 4 炫彩网络 5 融智科技 6 致远集团 7 飞跃科技 8 极致集团 9 灵动科技 10 豪迈集团 11 神州科技 12 创维集团 13 赛博科技 14 蓝海集团 15 云端科技 16 融
  • [ vulhub漏洞复现篇 ] struts2远程代码执行漏洞s2-048(CVE-2017-9791)

    博主介绍 博主介绍 大家好 我是 PowerShell 很高兴认识大家 主攻领域 渗透领域 数据通信 通讯安全 web安全 面试分析 点赞 评论 收藏 养成习惯 一键三连 欢迎关注 一起学习 一起讨论 一起进步 文末有彩蛋 作者水平有限 欢
  • IDEA(2023)解决运行乱码问题

    作者介绍 一个有梦想 有理想 有目标的 且渴望能够学有所成的追梦人 学习格言 不读书的人 思想就会停止 狄德罗 个人主页 进入博主主页 专栏系列 无 欢迎小伙伴们访问到博主的文章内容 在浏览阅读过程发现需要纠正的地方 烦请指出 愿能与诸君一
  • 如何增加 Tomcat 上传文件大小限制

    今天在部署一个war文件 开发站点代码 时Tomcat 8 我遇到了以下有关 Apache Tomcat 服务器中上传限制大小的问题 所以我决定将 Tomcat 上传文件大小限制增加到高于默认值 默认上传限制设置为 50 MB Caused
  • Node.js 与 MySQL 示例

    Node js 是一种流行的 Web 应用程序编程语言 如 PHP 和 JAVA 此外 MySQL 是用于存储值的最流行的数据库 Node js 的 MySQL 数据库驱动程序可在 NPM 存储库下找到 在本教程中 您将学习如何使用 Nod
  • 如何在 Ubuntu 18.04 上安装 GIMP 2.10

    GIMP GNU 图像处理程序 是一个免费分发的用于处理图像的软件 我们可以轻松地优化图像 使用 GIMP 转换其类型 它为设计师提供了将图像转化为真正独特的创作的能力和灵活性 GIMP 是一个跨平台应用程序 可用于 Linux Windo
  • 如何在 EC2 实例上创建交换分区

    在 Amazon Elastic Compute Cloud EC2 实例上创建交换分区有助于提高系统的性能和稳定性 交换分区是硬盘驱动器上的一个空间 当物理内存 RAM 不足时 操作系统可以将其用作虚拟内存 在本文中 我们将解释如何在 E
  • 如何在 Ubuntu 20.04 上安装和配置 Ansible

    Ansible 是一种自动化工具 用于从单台计算机管理多个远程主机 它为您提供了针对大量远程主机的轻松配置 例如 您在多台机器上执行相同的任务 Ansible 为您提供了自动执行这些任务的选项 Ansible 是 Chef 和 Puppet
  • 如何在 Bash Shell 中使用换行符 ( \n )

    问题 如何将换行打印为 n在 bash shell 中 如何使用 n在 shell 脚本中打印新行 Issues 在 bash shell 中回显换行符打印文字 n但不是新线 打印文字 n 在 bash 脚本中的嵌套打印新行中 Comman
  • 如何在 CentOS/RHEL 和 Fedora 上设置 VNC 服务器(Linux 远程桌面访问)

    VNC 虚拟网络计算 服务器支持 Linux 系统的远程桌面访问 类似于MSTSC在窗户中 一般来说Linux管理员不喜欢使用Windows访问 但有时我们需要访问Linux的远程桌面 在这种情况下 我们需要在 Linux 系统上安装 vn
  • 如何在 FirewallD 中打开特定端口

    防火墙是大多数现代 Linux 发行版使用的防火墙管理解决方案 在本教程中 您将学习如何在firewalld 中打开端口 本教程介绍如何在firewalld 中为公共 特定IP 或IP 范围打开端口 找到我们的上一篇文章关于Firewall
  • 在 Windows 上安装 Python 3.x 的综合指南

    Python 是一种广泛使用的通用编程语言 以其简单性 可读性和广泛的应用范围而闻名 无论您是开发 Web 应用程序 执行数据分析还是自动化任务 Python 都是一个绝佳的选择 截至 2023 年 7 月更新本文时 最新的 Python
  • 如何在一个 Cron 作业中运行多个命令

    Crontab 是一个用于在 Unix Linux 系统上定期运行计划任务的实用程序 它允许我们安排多个 cron 作业同时运行 我们可以安排任何 shell 命令或脚本在终端上执行 crontab 中的每个计划作业均由换行符分隔 我们还可
  • Linux 中的 tee 命令及示例

    tee 是 Linux 中的一项命令 它从标准输入读取并将输出写入标准输出和一个或多个文件 从而有效地复制输入 它通常用在 shell 脚本中 将命令输出发送到文件和控制台 Linux 中的 Tee 命令主要与其他命令结合使用 它读取输入并
  • 如何在 Debian 10/9 上安装 Mono

    Mono 项目由微软赞助 它是 Microsoft NET Framework 的开源跨平台实现 Mono 支持大多数具有 32 位和 64 位架构的现代操作系统 本教程帮助您逐步在 Debian 10 和 Debian 9 系统上安装 M