今天,我在Linux系统(CentOS 6.3)上成功编译了Apworks框架,大致写一下感受。
Linux的.NET实现:Mono开源项目目前不支持MSMQ和Entity Framework(当然,据说EF开源以后,Mono就可以支持EF了,而且是6的版本,不过我在编译Apworks的时候,始终提示说无法找到System.Data.Entity程序集,即使我使用了最新版本的Mono,还不知道是为什么),因此,我在原来的Visual Studio解决方案文件中加入了两个配置:MonoDebug和MonoRelease,分别用来在Linux下使用Mono产生Debug和Release的编译,只是在这两个配置中,去掉了Apworks.Repositories.EntityFramework和Apworks.Bus.MSMQ项目的编译选项
Mono xbuild暂时还不支持nuget的Package Restore功能,因此在使用xbuild对源代码进行编译之前,还需要将所需的packages复制到Apworks的目录中,这个nuget packages目录将来源于另一个地方(目前还没考虑好是以一个单独的tar.gz压缩包提供,还是在github中提供)
分别使用以下命令来执行编译:
Debug - xbuild /property:Configuration=MonoDebug
Release - xbuild /property:Configuration=MonoRelease
编译后的结果会放在bin/目录下,根据所选的配置分别产生Debug和Release两个目录:
进入任何一个目录,可以看到生成的程序集:
另外,在Windows下,获取Apworks的代码库后,可以直接在Visual Studio命令提示符下,进入Apworks的目录并使用build.bat批处理进行编译,使用方式为:
Debug – build Debug
Release – build Release