This will be a Windows Forms application deployed through ClickOnce.
The plan is to use the WebBrowser control to expose a web application that makes use of Active-X controls. Using window.external and InvokeScript, the objects will be replaced with references to Reg-Free COM objects (SXS). I know this sounds like a mess, but it’s a lesser evil, and I’m on a tight schedule. Eventually, the SXS part can be replaced, and hopefully the server-side code can be updated with something better.
Will there be serious performance problems with this? How much trouble am I asking for with this?
Will targetting .NET 2.0 make it easier to have code that is portable between Mono and .NET?
Is VB.NET code troublesome to port to Mono? I’m assuming it shouldn’t be? (I am working with VB6 programmers).
The docs say that window.external is not available under Mono. It sounds like there are plans to implement this. Is it safe to just use window.external now and wait for Mono to implement it?
Or, is there a way to emulate this?
I have other plans to slowly make the code more portable, and I’m hoping I can use this as a sort of method (read: loophole) to make it possible.
If you have suggestions on attitudes and states of mind, I’d be happy to hear them too. But please try to answer my main concerns first. Thank you.
I don’t understand exactly what you are trying to do, but I see specific words I can respond to:
I assume this is opposed to targeting .NET 3.5, and not .NET 1.1. The .NET 2.0 class libraries are much more complete than the .NET 3.0/3.5 ones (no WPF, no WF, limited WCF). However, if you just want C# 3 features like LINQ, all of C# 3 should work fine.
C# is definitely better supported than VB.Net on Mono. The VB.Net compiler is currently version version 8.0 (2005). The VB.Net runtime class library is also not complete. (Though you can completely avoid that and still use VB.Net.)