.net跨平台之mono应用(一)——Linux系统初识

Mono在linux环境离线安装 .net桌面应用移植国产linux系统使用mono 阅读详情

前言:最近因项目需要,开始研究.net应用的跨平台开发。主要需求是将windows上的窗体应用在.net上部署。因为Linux系统上不支持Winform。因此暂定的解决方案是Mono+GTK#。因为在这之前我完全没有接触过Linux系统,也未曾了解过Mono和GTK#,所以这是一个全新的学习过程。在此挖个坑,记录一下学习过程中遇到的各种问题和经验,分享给大家。

因为在这之前对Linux系统一窍不通,因此用了半天的时间来了解Linux系统。

一.系统类型

操作系统: CentOS 6.0
桌面环境: Gnome

二.常用命令

gnome操作

-进入桌面环境 gnome-pannel

磁盘操作

-打开文件目录 cd
Linux cd命令用于切换当前工作目录至 dirName(目录参数)。
其中 dirName 表示法可为绝对路径或相对路径。若目录名称省略,则变换至使用者的 home 目录 (也就是刚 login 时所在的目录)。
另外,”~” 也表示为 home 目录 的意思,”.” 则是表示目前所在的目录,”..” 则表示目前目录位置的上一层目录。

-查看文件夹列表 ls
ls命令用于显示指定工作目录下之内容(列出目前工作目录所含之文件及子目录)。

文件操作

文件操作使用vim编辑器,常用命令如下:
-打开文件 vim
使用vim命令打开某个文件后,此时进入的是查看模式,若需要编辑,则要使用命令进入编辑模式

-插入字符 i或insert快捷键

-替换字符 r

-退出编辑模式 Esc快捷键

-保存文件 :w

-退出vim编辑器 :q

-保持并退出vim :wq

软件安装

-安装指定的软件命令:yum install <package_name>

以上就是我常用的几个命令。感觉对我一个linux小白来说,掌握这些基本够用了。其他的命令需要时再去百度就好。
最后分享一个网站:Linux命令大全

Avalonia .NET构建Linux桌面应用 Avalonia 是一个用于创建跨平台用户界面 (UI) 的开源框架。它是一个基于 .NET 平台的框架,允许开发者使用 XAML 和 C#(F#)来构建跨平台的应用程序。Avalonia 的目标是提供与 Windows Presentation Foundation (WPF) 类似的开发体验,但能够在 Windows、macOS 和 Linux 等多个平台上运行。使用 Avalonia,开发者可以创建各种类型的应用程序,包括桌面应用、移动应用和嵌入式应用。如办公软件、IDE、游戏客户端等。 阅读详情

相关推荐

.NET 跨平台开源项目——Mono介绍

引文:李维先生曾讲过,“微软在垄断操作系统,SUN在垄断语言,他们都是垄断”。人们天生喜欢自由,不喜欢垄断。以前我一直在想,如果用Delphi开发的Windows程序能运行在Linux上,哪会是一幅怎样的场景?学习了一段时间.NET后,一天我突然想到,如果能把.NET平台移植到Linux或Unix上问题不就完美的解决了吗?我们知道.NET比JAVA最大的不同就是他支持多语言,我们可以用

郭方明专栏 1万+

.net linux 界面设计,.NET Core3.0开发Liunx桌面应用程序

.NET Core3.0开发Liunx桌面应用程序主要是依靠GTK。什么是GTK?GTK+(GIMP Toolkit)是一套源码以LGPL许可协议分发、跨平台的图形工具包。最初是为GIMP写的,已成为一个功能强大、设计灵活的一个通用图形库,是GNU/Linux下开发图形界面的应用程序的主流开发工具之一。并且,GTK+也有Windows版本和Mac OS X版。传送门:https://github....

weixin_36036271的博客 3809

Linux下用C#编译跨平台应用

本文详细介绍了在Linux环境下使用C#编译器生成可执行文件的两种方法:.NET SDK和Mono框架。通过.NET SDK可生成框架依赖或自包含的可执行文件,支持跨平台运行;而Mono则适用于旧项目或特定场景。文章还涵盖了跨平台开发的注意事项,包括路径处理、依赖管理和平台API选择等,并提供了Docker容器化部署方案。最后总结了推荐方案和部署建议,帮助开发者高效实现C#程序的Linux平台兼容。

java专栏 1684

vs窗体应用linux,使用Visual Studio2019创建C#项目(窗体应用程序、控制台应用程序、Web应用程序)...

使用Visual Studio2019创建C#项目(窗体应用程序、控制台应用程序、Web应用程序)一、VS的开发环境首先你得安装了vs2019,然后确认下下面三个组件是否存在,如果没有要下载一下。vs2019的安装可参考visual studio2019的安装以及使用。二、创建C#窗体应用程序打开vs可以直接在搜索框输入关键字进行搜索,选择 Windows 窗体应用(.NET Framework)...

weixin_42360953的博客 4623

Linux操作系统下 MONO执行C#程序的方法

众所周知,C#是Microsoft推出的.NET语言,只能在.NET平台上运行,例如Win 9x、ME、NT、2000、XP和Win CE之类的操作系统。但是,现在却有了一个叫做Mono的项目,它的目标就是把.NET及其编程语言移植到非Windows的平台上。现在,C#是唯一被移植到非Windows平台的.NET语言。 在任何一个平台(操作系统+硬件体系)上,编写和运行程序的三个最根本的需求

w4qiaofujiang的专栏 2594

Linux Mono - 一个强大的跨平台开发框架

总结起来,Linux Mono 是一个强大的跨平台开发框架,它为开发人员提供了在 Linux 系统上创建和执行.NET 应用程序的能力。通过支持 C# 语言和丰富的类库,以及与现有技术的集成,Linux Mono 提供了灵活性和效率,使开发人员能够轻松地构建跨平台的应用程序。在编程领域,Linux Mono 是一个备受欢迎的开源开发框架,它提供了一个跨平台的运行时环境和工具集合,使开发人员能够在多个操作系统上创建和执行应用程序。Linux Mono 提供了一个丰富的类库,包含了许多常用的功能和工具。

VqRuby的博客 1363

Mono 把 .NET 应用程序移植到 Linux

Mono 是基于 .NET 的开放源码开发平台,它让您可以使用各种 .NET 兼容语言创建强大、灵活的 Linux® 应用程序,同时利用跨平台的能力。本文带领您在系统上安装 Mono,并开发第一个用 Mono 编译的可同时在 Linux 和 ® Windows® 上运行的 C# 应用程序。 C# 语言是一种面向对象的语言,用于为 Microsoft .NET 平台快速构建各种应用程序。C# 和 .NET 的目标是把您从底层的编程问题中解脱出来,如类型安全问题、内存管理、库构造等,以便把精力集中到构建应用程

AdamChen游戏开发 2067

华大 HC32F460 DMA数据传输实战:从配置到中断处理的完整指南

本文提供了华大半导体HC32F460微控制器DMA(直接内存访问)功能的完整实战指南。详细解析了DMA的配置流程、中断处理机制以及软件与硬件触发方式,并附有实验代码示例。通过合理使用DMA进行数据传输,可以显著解放CPU资源,提升嵌入式系统的实时性与运行效率。

weixin_29194255的博客 255

在Linux系统中运行.net程序——Mono介绍

 Mono介绍 来源:互联网 收集:梦幻网络 本站网址:www.7139.com 点击数:236 【字体:减小 增大】 function bookmarkit(){window.external.addFavorite(http://www.7139.com/jsxy/ShowArticle.asp?ArticleID=115

冰峰 的专栏 3852

用4690张图片搞定物流仓储难题:手把手教你训练YOLOv8纸箱检测模型(附完整源码)

本文详细介绍了如何利用YOLOv8目标检测技术解决物流仓储中的纸箱识别难题。通过4690张图片构建高质量数据集,提供完整的训练教程和源码,实现98.7%的mAP@0.5准确率。文章涵盖数据采集、模型训练、调参技巧到边缘计算部署的全流程,帮助读者快速构建智能仓储检测系统。

weixin_28717939的博客 377

金融科技数据源

数字金融开放研究平台

平平淡淡,戒急用忍,一生学闭嘴。 1758

Mono跨平台开发实践指南

本文深入探讨了Mono作为跨平台.NET实现的技术架构和实现策略。文章详细分析了Mono在Linux、macOS和Windows三大主流操作系统上的适配技术,包括平台检测与条件编译、线程管理实现、内存管理适配、文件系统操作、网络通信适配等关键技术。同时涵盖了嵌入式系统与移动平台支持、平台特定API的抽象与实现,以及交叉编译与部署最佳实践,为开发者提供全面的跨平台开发指导。 ## Linux/m...

gitblog_00487的博客 970

HUAWEI华为荣耀MagicBook MateBook B D E X 13 14 16 笔记本MateStation台式机原装Win10出厂Windows11系统

HUAWEI华为MateBookX原装出厂系统恢复原厂系统,型号:MACHC-WAE9LP、EUL-W29P、MACHR-W19L、MACHR-W29、MACHD-WFE9、MRGF-16、MACHR-W19BL、MACHD-WFE9Q、WT-W19、Mach-W19、Mach-W29、WT-W09、WT-W19、MACH-W29等。HUAWEI华为MateBookE原装出厂系统恢复原厂系统,型号:PAK-AL09、GK-W7X、GK-G58、GK-W76、DRC-W76等。

QQ17855069的博客 17万+

[争鸣] MONO,原来你是水中月

什么是MONO? MONO项目是由Ximian发起的,由Miguel de lcaza领导的,一个致力于开创.NET在Linux上使用的开源工程。它包含了一个C#语言的编译器,一个CLR的运行时,和一组类库,并实现了ADO.NET和ASP.NET。能够使得开发人员在Linux用C#开发程序。MONO项目无论对Linux还是C#开发人员都应该是个好消息,尤其是C#开发人员更会相信.NET将因

doodoofish的专栏 2万+

`全网最细!! 入门必看Git教程链接:https://gitee.com/all-about-git`

全网 Git 入门教程 gitee.com。如果显示The requested URL returned error: 403错误,那就表示没有和window本地建立token令牌

qq_37855368的博客 3747

不加行也能填满:用 ABAP BDC 驯服 Table Control 滚动录制缺陷,批量维护供应商银行账户

摘要 本文探讨了在SAP ECC/S4HANA系统中处理供应商主数据时,Table Control控件带来的批量导入挑战。文章指出,银行账户维护界面中Table Control的滚动动作难以被录制工具捕捉,导致批量导入数据时仅能填充前5行。解决方案是通过BDC_OKCODE显式触发翻页(如=P+),并配合行号拼接(如(01)~(05))将数据写入不可见行。文中提供了完整的ABAP程序示例,展示了如何读取外部文件、动态生成BDCDATA、处理表格翻页逻辑,最终通过CALL TRANSACTION执行XK01事

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 271

【亲测免费】 wine-mono: 跨平台的 .NET 兼容库

wine-mono: 跨平台的 .NET 兼容库 项目链接: <> wine-mono 是一个开源项目,旨在为 Wine(一款在类 Unix 操作系统上运行 Windows 应用程序的兼容层)提供对 Microsoft 的 .NET Framework 和 Mono 框架的支持。 什么是 wine-mono? wine-mono 是一个跨平台的兼容库,它使得基于 .NET 平台的应用程...

gitblog_00090的博客 3032

手把手教你学Simulink——基于Simulink的隔离型DC-DC全桥变换器移相控制建模示例

本文详细介绍了基于Simulink的全桥移相变换器(PSFB)建模与控制方法。首先分析了全桥移相拓扑在大功率应用中的优势,包括ZVS实现、高频化和小型化特点。随后给出了具体设计参数和移相控制策略,采用电压外环+移相角内环的双闭环控制架构。文章重点演示了Simulink建模步骤,包括主电路搭建、移相PWM生成和PI控制器设计,并通过满载稳态、负载阶跃和轻载测试三种场景验证了系统性能。最后总结了工程实践要点,提出自适应控制等扩展方向,强调移相控制通过精准时间管理实现高效能量转换的核心价值。

MHD0815的博客 261

Mono为何能跨平台

概念 JIT 编译 (JIT compilation),运行时需要代码时,将 Microsoft 中间语言 (MSIL) 转换为机器码的编译。 CLR (Common Language Runtime)是通用语言运行时。和Java虚拟机一样也是一个运行时环境,它负责资源管理(内存分配和垃圾收集等),并保证应用和底层操作系统之间必要的分离。 机器码 (machine code),学名机器语言指令,...

linxinfa的专栏 1685

【Power Compiler手册】13.UPF多电压设计实现(2)

在这个场景中,在约束传播期间,工具会比较BLOCK中的原子电源域与TOP设计中的原子电源域,并且确认所有属性都匹配。因此,域合并成功,工具会丢弃来自BLOCK的域。在这个场景中,在约束传播期间,工具会比较BLOCK中的原子电源域与TOP设计中的非原子电源域,发现电源域不匹配。在这个场景中,在约束传播期间,工具会比较BLOCK中的非原子电源域与TOP设计中的原子电源域,发现电源域不匹配。在这个场景中,在约束传播期间,工具会比较BLOCK中的原子电源域与TOP设计中的原子电源域,发现它们的一些属性不匹配。

QRBQ 750

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Mono初探--创建你的第一个Mono应用程序(一)

注:这是我第一次翻译文章,肯定有很多错误的地方,如果实在是觉得我说的不知所云的话那么请看原文: http://www.codeproject.com/cpnet/introtomono1.asp 这是第一篇,后面的还没有翻译,过两天再放上来,由于是第一次发帖,我在下面的选项中选择把它放到首页去了,不知道对不对,如果不对的话请通知我 如果您有经验想传授我一些或者愿意和我交流的话请给我发邮件:...

weixin_34032621的博客 5278

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

揭秘!在 Linux 系统用 Mono 加载运行 .NET Framework 程序的全攻略

在当今多元化的技术环境中,跨平台开发与部署变得越来越重要。对于 .NET Framework 程序而言,虽然 .NET Core 已具备跨平台能力,但在 Linux 系统上使用 Mono 来运行 .NET Framework 程序仍有其独特的价值。本文将详细介绍 Mono 加载 .NET Framework 程序的原理、运行流程、与 Windows 运行机制的区别,以及使用 Mono 的原因和安全防护措施。

VBP_2025的博客 1125

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

【Mono】C# + Mono + Linux 编程初体验之 HelloWorld

理解Mono,可以类比 Java虚拟机。Java虚拟机(该虚拟机最初只为Java打造所以才叫Java虚拟机,跟Java语言应该分开看)就是一个语言虚拟机,它也有自己的一套规范,只要遵循Java虚拟机规范的语言编写的代码都可以跑在Java虚拟机之上, Java 语言就是遵循Java虚拟机规范的一种语言。CLI 一开始就野心比Java虚拟机大,因为它一开始就打算打造一个语言虚拟机平台,上面可以支持各种语言,而不是像Java虚拟机最初只是为了Java设计的,造成Java虚拟机许多地方考虑不周全。

业精于勤荒于嬉,行成于思毁于随 2万+

使用Mono 在 linux 下进行.net应用程序开发

ZDNet China 我们不得不承认,Mono 项目对于开发者来说,已经成为在开源项目中最引人期待渴望的项目了。它的出现使得.NET framework可以首次在Linux和其它的平台上运行。把应用程序的部署扩大到了更大的范围。最近,Mono项目的Beta3版已经发布。在这篇文章里,我希望可以使你了解到如何去得到Mono 的Beta3 版,并且如何使它在你的linux 系统中运行,还有如何通过M

李宁的专栏 1869

Mono跨平台体验

最近遇到一个特殊需求,客户要求做一个运行在Linux上的软件,并且要有软件界面。考虑到不会GTK#,QT也不熟悉,所以想到还是用mono Windows Form(.net跨平台项目)比较好,这里记录一下做法。 1.首先得准备一些东西: 一台Windows电脑visual studio 2015 (其它版本也可以)一个虚拟机软件VisualBox(其它虚拟机软件也可以,这里以Visua

sudazf的专栏 1466

【Linux】Mono—软件部署

mono_百度百科首先安装必要的软件包:使用以下命令导入存储库的GPG密钥:通过运行以下命令,将Mono存储库添加到系统源列表中:启用apt信息库后,更新软件包列表并使用以下命令安装Mono:通过以下命令来验证安装,该命令将打印Mono版本:

weixin_44764940的博客 1286
上一篇: 基于.NET平台常用的框架整理
下一篇: WebAPI接口帮助文档详细说明
梦想小白菜
博客等级 码龄12年 27粉丝 30原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值