Here are a few suggestions that make it sure you get the best answer to your question as quickly as possible:
- Search for your question on the forums or in Visual Studio's help system 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
- 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.
- 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.
- 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.
- 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.
- Report bugs through Microsoft Connect instead of on the forums -- Microsoft Connect 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:
- Common Language Runtime - for questions related to the runtime engine itself
- .NET Base Class Library - a general catchall for questions related to the BCL libraries, questions regarding the design of your code, etc.
- Visual C# General - for questions about the C# programming language, not the CLR or managed libraries
- Visual Basic General - same as above, but for VB
- Visual C++ General - same as above, but for C++ (both native and C++/CLI)
- Windows Forms General - for questions about creating applications using the System.Windows.Forms libraries
- Windows Presentation Foundation (WPF) - for questions about creating applications using the System.Windows libraries
- ASP.Net Forums - for questions about writing web applications using ASP.NET
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!
1. Before You Ask
Before you even ask a question, first try to find the answer by:
- Reading the documentation
- Reading the FAQ (the list of Frequently Asked Questions)
- Searching the archives of the forum you plan to post to
- Searching the Web.
- Asking a skilled friend.
- Reading the source code (if you are a programmer).
Take your time, and consider each item on this list. You will increase your chances of getting a helpful response if it appears that you have made a reasonable effort to solve the problem yourself.
2. Asking A Question
When asking a question, consider the following when preparing the post. If you don't understand why something is on this list, do it anyway. For further explanation and discussion from the original document, click the "more..." links.
- Make sure you are asking in the right place .
- Start a new thread or discussion for your question .
- Use a meaningful, specific Subject line .
- Send questions in plain text .
- Write in clear, grammatical, correctly-spelled English (to the best of your. ability)
- Say what you are trying to achieve before describing what you did.
- Describe, clearly and concisely, how your problem shows itself.
- Describe what goes wrong, not your guesses at the cause.
- Say how you have already tried to find a solution - see section 1.
- Be explicit about what your question is .
- Don't say your question is "urgent", even if it is urgent for you .
- Don't ask people to reply by private email.
3. When Your Problem Is Solved
If you manage to solve the problem, post a follow-up message describing exactly what the problem turned out to be, and how you solved it. You will be grateful for people who post such messages when you are searching for solutions in the future.