Managed SimConnect Support Multiple Versions of P3D


I'm trying to figure out how a Managed (C#) application (WinForms) can support both P3DV4 and P3DV5. When I build against the new version of the Managed DLL for V5, it won't work in V4, and vice versa.

Any hints or do I need two versions of the program?



Resource contributor
Add a flag at the top of the code that is e.g. int _ver = 0; so that 0 = P3Dv4 and 1 = P3Dv5. Then add code where you need to change between versions e.g.

if _ver == 0 then
// load the v4 libraries
// load the v5 libraries

Set the flag accordingly before compiling. That way you'll only need one codebase but you will need to create two versions of the app.

Thank you for that and it makes sense, is there a way to detect this in code (which version of the sim is loaded?) I say this because It seems like a cart-and-horse "race" because I need to load the correct library depending on sim and I was hoping to not rely on the user for this. In this regard, FSUIPC seems easier but I wanted to provide an alternative to this dependency.