安顿mono让Linux上援助.NET

  PNG functions: yes

Configuration summary
 
   * Installation prefix = /usr/local
   * Codecs supported:
 
      – TIFF: yes
      – JPEG: yes
      – GIF: yes
      – PNG: yes
 
      NOTE: if any of the above say ‘no’ you may install the
            corresponding development packages for them, rerun
            autogen.sh to include them in the build.
 
make报错信息为
……前面省略
n file included from ../cairo/src/cairo-ft.h:47,
                 from gdip.h:38,
                 from adjustablearrowcap.c:27:
/usr/include/ft2build.h:55:38: freetype/config/ftheader.h: No such file
or directory
In file included from gdip.h:38,
                 from adjustablearrowcap.c:27:
../cairo/src/cairo-ft.h:48:10: #include expects “FILENAME” or
In file included from gdip.h:38,
                 from adjustablearrowcap.c:27:
../cairo/src/cairo-ft.h:60: parse error before “face”
../cairo/src/cairo-ft.h:64: parse error before
“cairo_ft_scaled_font_lock_face”
cc1: warnings being treated as errors
../cairo/src/cairo-ft.h:64: warning: type defaults to `int’ in
declaration of `cairo_ft_scaled_font_lock_face’
../cairo/src/cairo-ft.h:64: warning: data definition has no type or
storage class
adjustablearrowcap.c: In function
`gdip_adjust_arrowcap_clone_cap’:
adjustablearrowcap.c:75: warning: implicit declaration of function
`memcpy’
make[2]: *** [adjustablearrowcap.lo] Error 1
make[2]: Leaving directory
`/home/yahoon/mono/libgdiplus-1.1.13.6/src’
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/yahoon/mono/libgdiplus-1.1.13.6′
make: *** [all] Error 2
查了看似与freetype有关,
libgdiplus包里面还恐怕有叁个cairo文件夹,它的安装表达提醒要装freetype-2.1.4不过用src.rpm装freetype-2.1.4提醒要symlinks,源码装又报错…受不了抛弃了.仍旧换骨夺胎用rpm把那些libgdiplus装好(很意外这么设置任何经过没报错)图片 1

图片 2

前言:那篇小说是小编从英特网找来的,刚好小编做的作业和自家近年要做的一致,作者从中间也获得了帮衬,何况本身也写了些心得,迟下整理好后也会放上来,我们能够比较一下当作参照,也接待提议您的眼光。
 
出于有ASP.NET的页面要松开Linux上边,那还满新鲜的,从前没搞过,说是要装mono.装起来没悟出那样麻烦,用了一天半的时间.以下正是整套经过,个中相当大的字数是退步时的调节和测验音讯,很期待什么人能帮作者解析一下
 
环境:
RedHat9,apache2,mysql5,php5
一度配了PHP情状,并能不荒谬职业.
 
安装进度:
保证起见,安装进度中停掉了apache,mysql,所装版本是1.2.4,用rpm安装
1.先是安装mono的rpm包
用rpm –vih *.rpm时停住不动,推测是要加—nodeps
之所以用如下的依次八个多个装
libgdiplus
mono-core
mono-data
mono-data-firebird
mono-data-Oracle
mono-data-postgresql
mono-data-sqlite
mono-data-sybase
ibm-data-db2
mono-nunit
mono-locale-extras
rpm -ivh mono-web-1.2.4-3.novell.i586.rpm –nodeps
//那些和下边包车型客车winforms相互依赖,实在特别,所以加上了—nodeps参数
rpm -ivh mono-winforms-1.2.4-3.novell.i586.rpm
rpm -ivh mono-devel-1.2.4-3.novell.i586.rpm
rpm -ivh mono-extras-1.2.4-3.novell.i586.rpm
rpm -ivh mono-jscript-1.2.4-3.novell.i586.rpm
rpm -ivh mono-basic-1.2.4-0.novell.noarch.rpm
rpm -ivh bytefx-data-mysql-1.2.4-3.novell.i586.rpm
rpm -ivh mono-complete-1.2.4-3.novell.i586.rpm
 
2.然后装xsp/mod_mono
(下载页面http://www.go-mono.com/download-stable/redhat-9-i386上面并没有单独的mod\_mono的rpm包下载,将这两个软件写在了一起)所以应该是包含在一起了
rpm -ivh xsp-1.2.4-0.novell.noarch.rpm
注:
rpm安装的XSP的目录结构
/usr/bin/xsp
/usr/lib/mono/gac/xsp
/usr/lib/xsp
/usr/share/doc/packages/xsp
rpm安装mono的目录结构
/etc/mono
/usr/bin/mono
/usr/lib/mono
/usr/share/mono-1.0/mono
/usr/include/mono-1.0/mono
/usr/lib/xsp/test测验目录
 
不领会哪些修改httpd.conf,因为mod_mono的库文件不知情装哪了,找不到
进而改用源码安装mod_mono,修改了httpd.conf用IE访谈测量试验页面报错
Service Temporarily Unavailable
The server is temporarily unable to service your request due to

附注:AnyExec官网:http://www.linuxdot.net/,QQ群:103810355。

maintenance downtime or capacity problems. Please try again later.

Apache/2.0.54 (Unix) mod_ssl/2.0.54 OpenSSL/0.9.7a mod_mono/1.2.4
PHP/5.0.4 Server at 192.168.0.111 Port 80
IE的标题栏呈现503漏洞非常多
没找到解决办法,此时参见到http://www.xiaojb.com/archives/it/mono.shtml里面写的”
第贰回mono和xsp都放到了usr以外的地点,结果apache报503的有的时候错误。估计是路线的标题,重新编写翻译后就好了。”
 
参考那篇小说选用源码安装,版本也用相当的低的,恰好小编的apache的安装路线和文章中的一样为/usr/local/apache2/,源码下载路线:http://go-mono.com/sources-maintenance/
 
1.首先安装libgdiplus-1.1.13.6,然则报错要装glib-2.4.0,装了glib今后make仍然报错
./configue正常,输出为:
……前边省略
cairo will be compiled with the following surface backends:
  Xlib: yes
  Quartz: no
  XCB: no
  Win32: no
  PostScript: no
  PDF: no
  glitz: no
 
the following font backends:
  FreeType: yes
  Win32: no
  ATSUI: no
 
and the following features:

让.NET应用程序在linux上运维,近来通用的做法正是在Linux上设置mono,然后经过”mono
your.exe“命令运营这一个程序。

透过以上步骤,你的次序已经与anyexec整合为一个自带.net运维时,並且以你的程序命名的单独的,客户机无需安装mono也能健康运营的顺序系统了。未来,你只必要把全部文件夹做成压缩包,就足以交到客户选用。至于你怎么公布,怎么交给客户,怎么让客户学会解压和平运动行,呵呵,这一定不是自己的事了!

4,把解压得到的,形如“anyexec-1.1-linux_x64”那样的文件夹名称改为您要求的称号,比方myprog。命令是 mv anyexec-1.1-linux_x64 myprog。

一,准备:

三,打包发表:

图片 3

图片 4

那正是说,有未有一点点子既不安装mono,又能令你的.NET程序就疑似c语言编写翻译的主次那么,”直接“在Linux上运维吧?

上述是利用 AnyExec的全部手续。

4,试运行:

图片 5

3,把名字叫 ”any“的可实践文件更名,让新文件名与您上传出
app文件夹中的exe文件名相同(不含扩大名),如:myprog

图片 6

 

这种运营.net程序的法子有五个毛病,七个是索要客户机安装mono,一个是 ”mono
xx.exe“ 这种命令行总令人以为有一点不太标准的深意。

1,由于当下独有63位的AnyExec,所以须求大家企图一台64人Linux测验机。

您能够品味运转一下 any,假使见到如下音讯,说明AnyExec可以在您的类别上健康办事。

如何,在linux上跑.net 应用程序,其实很有益于啊!

 

为了消除.net程序非常是.net调整台程序在Linux平台上安顿和平运动作的简便性难点,笔者给大家希图了贰个小工具,叫”AnyExec“,上面具体探讨怎么将您的.net程序与
AnyExec整合起来,产生多少个足以在Linux平台上不必要安装mono就能够独立运作的主次系统。

二,整合:

内容是:

然后编写翻译出exe文件。

1,准备多少个 .NET
调节台程序。若无,能够新建多个,举个例子,作者用VS创五个叫myprog的调控台文件,.NET版本选4.0或4.5。

图片 7

2,把exe文件上传到
anyexec文件夹(即你已经济体改名叫myprog文件夹)上面名为“app”的子文件夹中。

2,下载 anyexec。在Linux测量检验机上运维命令:
wget http://linuxdot.net/down/anyexec-1.1-linux\_x64.tar.gz

图片 8

接下来进入 myprog,用ls命令可以看看有二个叫 any的程序文件和个外堪称叫app、lib和bin的多个文本夹。

现行反革命,您能够品味运维曾经叫
”any“未来与你的程序同名(例如myprog)的那个linux程序了。

3,解压。运维解压命令:tar -zxvf anyexec-1.1-linux_x64.tar.gz

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图