Class library, CLR console app, CLR empty project, makefile project, console application, or forms app?
1 Answers
This question doesn't make any sense. What exactly do you want to create? Once you know that, you'll know which of those project templates that you should choose!
An application (meaning something that the end user actually interacts with) can't ever be a class library. Class libraries are designed to contain re-usable code "libraries". If you were writing some raytracing code that would be used by other applications to provide raytracing functionality, a class library is exactly what you want. But it's not the answer if you want the end user to be able to do raytracing directly from the code that you write.
A Console application will run in a Console window on the desktop. This is what you probably know as a "DOS" window, although that's technically inaccurate. Console applications are not DOS-based, they're fully 32-bit Windows NT applications. But they are text-only, probably not the best fit for a graphics app.
A CLR application will be one that targets the .NET Framework. Specifically, a "Forms" application will create a Windows Forms application. Windows Forms (also known as "WinForms") is a managed wrapper around the native Windows API used to create standard graphical applications. This is generally a good approach, but it does impart a dependency on the .NET runtime, which may be something you wish to avoid if performance is of utmost importance in your app. Developing in the managed world of .NET is often much simpler and intuitive than the alternatives, but it does some at the cost of some performance. Whether the sacrifice is worth it is something that only you can decide.
The alternative to a CLR application is a straight Win32 application, one that targets the native Windows API directly. As mentioned above, the advantage of this route is that you'll get a much smaller, faster app, but it will be substantially more difficult and time consuming to develop. Especially if you don't already know anything about the complex subject that is the Win32 API.
Of course, an "empty" project is one that contains no files! You probably don't want that. The wizards make it much easier to get started.
And a Makefile project doesn't even create an application at all. So ignore that one entirely!

- 239,200
- 50
- 490
- 574