There is no answer yet, so I can offer a halfway solution: attaching a little managed managed C ++ to your project as a common DLL, exposing .Net properties / methods and interacting with the Prolog side using the C ++ interface is convenient and powerful (exceptions, type checking, distribution management of the environment, etc.).
source share