Visual Studio 2010 RC Intellisense does not autolist all the members

Take a DataRow type variable for example called dr. When you just typed dr. the Intellisense autolists all the members for that type or instance. At least the expectation is that it should. There is though a  setting to hide “advanced” members ( honestly I don’t know the criteria based on which some members are advanced and some others are not). In the case of the <DataRow dr> variable that we took as an example you will not get listed by default methods like: BeginEdit, CancelEdit, EndEdit … and probably many others. Again this is happening by default in VS 2010 RC. I tried the same thing in VS 2008 and it showed all the members.

You can find the setting in Tools\Options\Text Editor\All languages or individual languages


I believe that the “Hide advanced members” is in an undefined state because it tries to reflect the cumulated state of this flag for all the languages and some don’t even have this option (it’s greyed out) like VB for example.

To be sure that for example in C# you get all the members go to C#’s page and uncheck the setting there.


Take a look at the Parameter Information checkbox setting and make a note of it. You should check this if you find at one point that you don’t get method parameter information anymore.




Windows 2008 R2 DNS fails to use another non Microsoft DNS as a forwarder

Long story short I have two DNS servers running on a Windows 2003 and a Windows 2008 R2 respectively. Internet is accessed through a Gamer Lounge D-Link DGL-4300 Gigabit wireless router. (just thought I’d mention that in three years of usage this router was a reliable workhorse)

My 2003 DNS was configured to forward requests to the DGL-4300.
When the 2008 DNS was brought up I configured it to forward requests to the 2003 DNS (maybe a bad choice but please don’t judge me).

Now, due to some maintenance I had to keep the 2003 machine down for a while so the 2003 DNS was temporarily out of the picture.
In this situation trying to access, nothing came up. Of course my client machine was asking the 2008 DNS to resolve a fqdn. The 2008 DNS didn’t know how to do it and asked one of its configured forwarders. The only one was the 2003 DNS which sadly was dead. Not surprisingly the request was failing.

So, to make it work, I configured the 2008 DNS to forward requests directly to the DGL-4300 and expected that all will be over soon. Silly me. I’m trying the Internet and again nothing. I tried a few more tests which honestly I cannot remember but lo and behold it lead me to decide it’s time to “Packetize” the whole thing. I couldn’t find a Packetizer for 64 bit so I came to know Wireshark which is a nice piece of software (nevertheless I miss some of Packetizer’s features).

One thing that I noticed in the capture was a bad checksum for the IP packet encapsulating the DNS request from the 2008 DNS to the router. Ok then, I pulled up the hardware configuration for the network adapter (serviced by the 2008 DNS) and disabled the RX/TX IP Checksum Offload.

I again took a capture and this time no more IP checksum errors but the DNS issue was still on. I have to mention that this capture was taken on the client and basically each DNS request was completely ignored as there were no answers from the 2008 DNS back to my client (Vista machine 64). So the 2008 DNS was incapable of resolving the name and it was just sitting quiet. Time to move on and sniff on the machine where the 2008 DNS server itself resides.

Here I could see this:
109    1.676005    DNS    Standard query response, Format error

a simple search on the Internet lead me to the following article:

Windows Server 2008 R2 DNS DNS error 5504 on some queries (EDNS0 problem?) which in turn sent me to:

DNS query responses do not travel through a firewall in Windows Server 2003 support KB on Microsoft’s website.

In conclusion, it appears that a 2008 DNS server by default behaves a little bit differently than a 2003 DNS server and couldn’t properly cooperate with the DNS server running on the router.

Executing this simple command on the 2008 machine and restarting the DNS server solved my problem:
dnscmd /config /enableednsprobes 0