VC++ 2005 and the confusion over its .NET nature

Every day, every single day, somebody asks on the Microsoft NGs and the Code Project forums whether she can use VC++ 2005 to write native applications that do not use the .NET Framework. It’s amazing how the confusing naming used by the previous versions, where VC++ 2002 was called VC++.NET 7 and VC++ 2003 was called VC++.NET 7.1, had a telling effect on the minds of people.

Anyway, to anyone who’s still in doubt, the answer is, yes, you can write purely native applications with VC++ 2005, and those can be Win32 API applications, MFC/ATL applications, WTL applications and just about anything native really. The Express edition does not include MFC and ATL, which means that you are restricted to creating Win32 API-only applications (other than the managed project options which you are not interested in).

I think the marketing folks at Redmond who work on marketing VC++ 2005 need to start a serious campaign in trying to put the message out that VC++ can create native applications and is not a .NET only tool like C# or VB.NET. Too much stress is put on portraying VC++ as a mixed-mode programming engine, that the fact that it can still be used as a native coding environment is often overlooked. Oh well, maybe they intended it that way. :hmmm:


4 thoughts on “VC++ 2005 and the confusion over its .NET nature

  1. Hello Nish,
    yes I had the same experience.
    I had great problems to make that to our upper management that plain
    and clear. Its even worse than with VS 2003. They somehow got the impression that
    porting to the better VS 2003 C++ compiler (from VC++ 6) also means porting to .NET.

  2. Hello Nish,

    I am interested in the mixed mode aspect though 🙂

    I will be working on porting an ASP / ATL COM app to .NET soon, and want to explore all options for the middle layer. We plan to use regular RCWs to expose the business objects, but if perf becomes an issue due to many property gets and chatty calls, I want to know the best alternative for porting the ATL code to managed code.

    Would C++/CLI be a good way to do this and negate the need for RCWs getting in the way? I’ve read on MSDN that .NET apps don’t need RCWs to talk with C++/CLI code, but I have not seen much details.

    I also wasn’t clear about how /clr really worked, but that may be another issue 🙂


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s