Mono for Midrange

Information about Mono for IBM i and AIX

User Tools

Site Tools


A well behaved .NET program will need minimal, if any changes to work under AIX or IBM i. However, you should keep these points in mind when porting:

  • Native libraries for Windows and other platforms called via P/Invoke will not work unless they have an AIX or PASE version. If a compatible native libraries exists, you can use DllMap to point the runtime to the proper native library without modifying source code.
  • Mono on Midrange runs on big endian processors. If your code works with techniques like bit shifting, then you must handle this. You can use the IsLittleEndian field to detect this.
  • Paths in Unix systems like AIX are case sensitive and structured differently. (IFS paths in IBM i are case insensitive, but can be case sensitive in directories like QOpenSys.) To handle paths regardless of if code is using Windows or Unix style paths, you can use the Path class to work with paths instead of manual string manipulation.
  • Some classes and libraries are not supported or partially supported due to current limitations in the port or strong dependencies on Windows. System.Drawing, Windows Forms, and and full ASP.NET are currently not supported or have significant issues, but are on the project roadmap. Libraries like WPF will not be supported.

Databases have special consideration.

portability.txt · Last modified: 2019/10/05 16:54 by Calvin Buckley