When you create a new project, VS.NET automatically creates a folder with the project's name under the selected directory. If you name your project MyTestProject, and select an existing folder named c:\My Project\MyTestProject as destination directory, in reality the final project's folder will be c:\My Project\MyTestProject\MyTestProject. This is a problem also when you want to create a project with a certain name, but use a different name for the physical folder that will contains its files.
The solution is simple: first create the destination folder you want, where you want, and then from the VS.NET's New Project dialog select the New Project in Exisiting Folder option. Type the project name, click OK and a new dialog will pop up to allow you select an existing folder for your project. Note that this option just creates the .vbproj project file, you'll have to manually create new source files or import existing files.
This option is also extremely useful when you want to create an ASP.NET project under the default web site, usually in :\Inetpub\wwwroot. To do this, from the dialog that allows you to select an existing folder, select http://localhost/.