Finding what you need in the Microsoft® Visual Studio® .NET documentation, which has over 45,000 topics, can be a daunting task. The Doc Detective is here to help, utilizing his investigative skills to probe the depths of the documentation.

Can't find what you're looking for? Just ask?if it's in there, I'll find it for you; if it isn't, I'll let you know that as well (and tell you where else you might go to find it).

The Doc Detective

Have a question for the Doc? Send your questions for future columns to me at

Dear Doc Detective,

I have just started using ASP.NET and have Visual Studio .NET and IIS installed on my development machine.

My pages work great on the development machine, but when I transfer them to my IIS production box they won't run. I have the NET Framework installed on my production server, but still no go.

How do I move my ASP.NET apps from my development machine to the server?

? Phrustrated in Phoenix

Dear Phrustrated,

You don't say so in your letter, but I'm assuming that you are transferring your app using XCopy or the Copy Project command. While these may work in the simplest cases, they don't configure your IIS directory settings. See the topic "Deployment Alternatives" for a better explanation.

Although it involves a bit more work, deploying your app using a Web Setup project is the way to go. The topic "Walkthrough: Deploying a Web Solution" should get you started?just substitute your own app for the one used in the walkthrough.

By the way, while Web Setup projects allow you to configure some of the IIS directory settings, there may be times when you need to configure settings that aren't exposed?for example, turning off anonymous access. You can do this using a custom action, as described in the white paper, "Modifying Internet Information Services During Deployment with Custom Actions."

? Doc D

Dear Doc Detective,

I'm using a Windows Forms DataGrid control to display our product catalog. I want to use ToolTips to give users more information when they hover over the product name.

I tried adding a ToolTip control to my form and hooking it up to the DataGrid, but this only gives me a single ToolTip for the entire grid. How can I provide different ToolTips for each row in the grid?

? Gridlocked in Grand Rapids

Dear Gridlocked,

My first thought was to add a ToolTip component for each row in your DataGrid, but I suspect that wouldn't be terribly efficient. My next thought was that you should be able to use hit testing to determine which row you are over and change the ToolTip's text accordingly.

A quick search of the Visual Studio documentation came up blank, but I did find a white paper in the MSDN Library that covers this (as well as several other handy tips for the DataGrid control). Just look for "Customizing the Windows Forms DataGrid."

? Doctor D

Dear Doc Detective,

I'm new to Visual Basic .NET and I'm trying to upgrade a simple VB 6 application. After running the Upgrade wizard, I've noticed that it changes some of my data types. For example, the line

Dim intA, intB, intC As Integer

gets upgraded to:

Dim intA As Object
Dim intB As Object
Dim intC As Short

Why is the Upgrade wizard changing my code?

? Miffed in Milwaukee

Dear Miffed,

There are actually a couple of things going on here. First of all, in Visual Basic 6, any variable that isn't explicitly typed is typed as a Variant, so your example code actually meant:

Dim intA As Variant
Dim intB As Variant
Dim intC As Integer

Since there is no Variant type in Visual Basic .NET, the Upgrade wizard correctly upgrades your first two variables to Object.

As for the Integer being upgraded to Short, in Visual Basic 6 the Integer data type is 16 bits, but in Visual Basic .NET it is 32 bits. The Upgrade wizard assumes that you want to keep your variable the same size, so it upgrades your variable to Short (which is 16 bits). There's a topic that explains the differences in the Integer data type?look for "Integer Data Type Changes in Visual Basic."

Also, I would highly recommend to you that you run the Visual Basic 6 Code Advisor on your Visual Basic 6 project before upgrading. The Code Advisor will identify potential problems in your code and advise you how to correct them. You can download the Code Advisor for free from the Microsoft Web site. Following the Code Advisor's advice will greatly improve the results you get from the Upgrade wizard.

? the Doc

Doc's Doc Tip of the Day

The Doc has seen several cases lately where users have reported that their Visual Studio .NET Help has suddenly stopped working. They were able to run a search and return results, but when they tried to open a topic it doesn't show up.

Even after uninstalling and reinstalling Help the problem persisted, until someone suggested clearing their temporary Internet cache and?voila!?Help was working again.

How can this be, you ask? HTML Help pages, just like any other HTML pages, are stored in the cache for faster retrieval the next time around.

If you are experiencing problems with Help, try deleting all the files in your Temporary Internet Files folder?it may save you the pain of reinstallation.

Found a topic in Help that doesn't help? Tell the Visual Studio documentation team about it at