Building under VC++ 6.0 and VS.NET
Most Open Source applications that we use: Apache, PHP, MySQL, etc, are officialy built with VC++ 6.0. Yet some users are asking for VS.NET builds..
While you could throw the code under VS.NET and run the build...
- There is a reason why Apache.org official binaries are compiled under VC++ 6.0.
- There is a reason why MySQL.com official binaries are compiled under VC++ 6.0.
- There is a reason why PHP.net official binaries are compiled under VC++ 6.0.
- There is also a reason why no hosting provider, that I know of or would use, would even consider using a VS.NET build of any component under the WAMP stack.
- There is even a reason why major hosting providers still only use Apache v1.3.
Those reasons are stability [in every respect of that word], known and tested codebase, known and tested compiler/build environment, not mixing runtimes, not mixing unmanaged code with .net libs, and so on...
Then someone comes out and says the word "performance"...
As the performance fantasy goes, I have not seen anyone post any data to back those claims up -- and it should be good real world data with reasoning and methodology posted. Personally, taking a wild guess here, I would say minimal performance gains, or in very limited situations, can be had.
Not to mention that the entire codebase of each project would have to be rewritten to take advantage, in a more than superficial way, of anything under .NET -- and then tested and fixed for the next 3 years, and then being at Microsoft's mercy as they break everything Apache related to 'enhance' IIS and the Windows OS, with each new release of .NET, and with each new OS patch...
This issue has been in the back of my mind for some time now, as I really do feel that the truth is being completely overlooked when these other WAMP distributions post something like "we build with VS.NET -- huge, huge performance and security gains... Incredible results!!!"
DeveloperSide.NET builds with VC++ 6.0, Service Pack 5, Processor Pack (MASM), and the Feb 2003 Platform SDK (the last 'official' VC6.0 PSDK). 'official' is the key word under the DeveloperSide.NET Web-Server Suite distribution, as it is synonymous with 'production readiness' and 'stability'.
When you start mixing and linking these components with other components that have been built with other compilers (VS.NET 2002,2003,2005)...
At best, you are mixing runtime libs. At worst, your build will be unstable, or it will just plain fail.
Also note that VS.NET is primarly a .NET compiler, and only secondary, a C++ native code compiler. Microsoft has a plan, and it does not include C++, but rather C#.