tnblog
首页
视频
资源
登录

Run Winform on Ubuntu via Mono

6236人阅读 2020/8/31 11:28 总访问:86904 评论:0 收藏:0 手机
分类: Mono

Winform 想要通过Mono在 Ubuntu 可视化版本 上跑起来 
 

开始前要准备一下:安装mono,下面要从它那里提点文件,然后再写一个命令行模式的HelloWorld.exe(用visual studio编译的也可以)。

新建一个文件夹,比如<HelloWorld>(注:新建的时候不要建在中文名的文件夹下),然后在他下面再新建一个文件夹<bin>,从mono安装文件夹下的<bin>copy以下文件:

Mono.exe

Mono-1.dll

Libglib-2.0-0.dll

Libgmodule-2.0-0.dll

Libgthread-2.0-0.dll

Iconv.dll

Intl.dll

我安装的mono1.1.13版的,已经跨进了2.0时代,所以版本号都跟着2.0。如果有变,那么他提示缺失什么文件你就给他什么文件。

运行环境就这么搭好了,接下来要把framework放进去,当然不用全放,helloworld只要放mscorlib.dll就可以了:

<MONO_PATH/lib/mono/2.0/mscorlib.dll> copy <HelloWorld/lib/mono/2.0/mscorlib.dll>

最后,把你的HelloWorld.exe copy<HelloWorld>下,再放一个run.bat,写上bin/mono helloworld.exe,双击run.bat,你就能看到通过mono运行的helloworld了。

而且通过mono,你的helloworld还可以跨平台运行。

接下来你也应该知道怎样运行一个WinForm版的HelloWorld了吧。先别急,为了让你少走弯路,我现说说注意事项。你当然可以通过mono自带的编译器来编译程序,但如果你想用visual studio编译的话,你要把所有的应用都替换成mono的。比方说把System.Windows.Forms换成<MONO_PATH/lib/mono/2.0/System.Windows.Forms>等等。。。然后才能在mono下正常运行。

整理一下 遇到过的问题

LINUX系统中使用 System.Drawing.Common Gdiplus的问题


1.安装 libgdiplus


sudo apt-get update
sudo apt-get install -y libgdiplus
cd /usr/lib && ln -s libgdiplus.so gdiplus.dll
 
sudo apt-get update
sudo apt-get install -y --no-install-recommends libgdiplus libc6-dev
2.升级到最新版本

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
sudo apt install apt-transport-https ca-certificates
echo "deb https://download.mono-project.com/repo/ubuntu stable-xenial main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list
sudo apt update
 
sudo apt install mono-devel


这个问题是mono 在Ubuntu没有对应的 配置 Winform的文件 需要安装 

参考文章:https://blog.csdn.net/shouldbe/article/details/592593


                 https://docs.microsoft.com/en-us/dotnet/core/install/dependencies?tabs=netcore30&pivots=os-linux 



评价
我要变强不变秃
排名
6
文章
6
粉丝
16
评论
8
{{item.articleTitle}}
{{item.blogName}} : {{item.content}}
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2024TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
欢迎加群交流技术