Getting Help with your .NET Questions

Recently I've been getting a lot of email from this blog asking for help with various problems.  Although I'd love to help out, I don't have the time to address each mail directly.  In fact, most of the problems I (and other members of the CLR team I've talked to) see in direct mail generally are the same handful of issues faced by many people.

Instead of providing help in email, which is not discoverable for the next person who runs into the problem, it's much better for us to provide answers in a more public way.  Some of the better ways to get an answer to your question is to leave a comment in a related blog entry, where people searching for related words might find it, or to use the MSDN Forums.

Several members of the CLR team, along with MVPs and other very knowledgeable members of the community, are active on the forums answering questions.  If you don't have a question that directly relates to a blog entry, this is absolutely your best way to get help.  When posting in forums, here are a few suggestions that make it sure you get the best answer to your question as quickly as possible:

  1. Search the forums (or Visual Studio 2005's help system, which links back to the forums) first -- it's likely someone may have already answered your question, and you won't have to waste time waiting for it to be answered again
  2. Post in the correct forum (see below) -- since the experts in various subject matters tend to stick to the set of forums that focus on those topics, a question about the C# yield keyword posted in the Common Language Runtime forum will likely take a lot longer to be answered than the same question in the C# Language forum.
  3. Make sure your title summarizes the specific problem you have --  since we try to answer the maximum number of questions we can with our time, we often skim through question subjects to quickly find the ones that we know the answers to.  A question with a title of "Urgent! Help needed!" is not as likely to get answered as a question with a title of "How to define a sealed class using CodeDOM".  A more specific, detailed title is far more likely to get a response than a general one. 
  4. Give details about your problem --  rather than "When I call Process.Start I get an exception, please help", provide the exception type, message, and call stack.  If possible provide a succinct code snippet that demonstrates the problem.  This lets us reproduce the problem on our end, and allows us to come up with an answer where just a general question may not have had enough details.  Having this information means we can answer your question more quickly, without having to ask you for these details and wait for your response.
  5. Once you've received a correct answer to your question, either from a Microsoft employee, an MVP, or the community in general, please mark the post as answered.  You can do this with the "Mark as correct answer" button that appears on the entry containing your answer.  This step is important, since it lets the Visual Studio search engine know that there is an answer in that thread for others who may also have your problem.  It also lets people scanning the forums know that they can find an answer to that question by reading the thread.
  6. Report bugs through the MSDN Product Feedback Center, instead of on the forums -- the Product Feedback Center allows us to see the bugs in our bug tracking database and get them assigned to the correct person.  It also allows you to follow the problem through to its resolution, and is a much better way for us to handle issues you find than a bug report posted on the forums.

When trying to figure out which forum is right for your question, here are some good candidates:

Of course there are dozens of other forums available if your question doesn't fit into one of those categories.

Finally -- as moderators we try to keep spam and inflammatory comments out of the forums.  However if you do catch something that we missed, don't hesitate to use the report button so that we can keep the forums on-topic and a friendly place to go for help with your .NET questions!

Updated 9:45 AM: Updated some phrasing to clarify point #3.