在Linux系統(CentOS 6.3)上成功編譯Apworks框架
阿新 • • 發佈:2018-12-27
關注我的朋友,相信一直會知道Apworks框架,它是我從2009年開始一直堅持開發的一套基於Microsoft .NET的面向領域驅動的應用程式開發框架,框架的原始碼地址是:https://github.com/daxnet/Apworks。今天,我在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