I am working on an open source project (Logbus-ng), and I need to implement a web service created by a console application that works on both Windows and Mono.
Currently, thanks to MSDN Magazine, I have managed to do this on Windows. The console application can create its own web server and actually open the web service interface to an external one. The problem is that this does not work in Mono, reasonably due to a Mono error.
Talking to Mono developers, they suggested that I use the Mono.XSP assembly to include the ASP.NET pipeline in console applications, so I think I will use different implementations of the web services activator depending on the configuration.
Now my question is: since Mono.XSP is available in the GAC on all Mono distributions (i.e. when using xbuild on Linux), but is not available on Windows if someone does not install it in the GAC, and I do n’t want to send Mono.XSP with my software, do not force someone to install Mono if they do not need them (that is, if they are compiled under Windows), can I set a link to the Mono.XSP assembly in the GAC so that it is only allowed if enabled MONO compilation flag? When this flag is on, my code will obviously refer to Mono.XSP, not the HttpListenLibrary described in the tutorial above, and the link will be used correctly by the compiler.
Thanks in advance.