Yves.Jerschow

After installing Service Pack 1 for Visual Studio 2005 I noticed that IntelliSense does not work in my project any more. I figured out that IntelliSense stops working when using the hash_map or hash_set template, located in the namespace stdext. Actually, QuickInfo still functions, but AutoCompletition refuses to operate completely, it is not available for any keyword in the project. When exchanging the IntelliSense DLL feacp.dll [14.00.50727.762 (SP.050727-7600)] installed by the service pack with the RTM version of this file [14.00.50727.42 (RTM.050727-4200)], i.e. the one that was installed before applying SP1, IntelliSense is working again like a charm!

Conclusion: The IntellSense DLL feacp.dll delivered with SP1 is buggy!

To reproduce this bug, create the following tiny test project:

#include <string>
#include <hash_map>

int main(int argc, char* argv[])
{
stdext::hash_map<std::string, int> MyMap;
size_t MyMapSize = MyMap.size();
return 0;
}

You will see that AutoCompletition won't work when SP1 is installed.

I hope that someone from the Visual Studio 2005 development team can comment on this issue.

Yves Jerschow





Re: Visual C++ General [VC++ 2005 SP1] IntelliSense stops working when using stdext::hash_map

jdr5

I have just run across the same problem and can confirm that rolling back the dll version resolved my problem. For those who want to follow:

uninstall the service pack from add/remove ( check the Show updates box on the top of the dialog to make it appear in the list )

locate ...Visual Studio 8/vc/vcpackages/feacp.dll - on its properties page, the version should now show 14.0.50727.42

reinstall the service pack

locate ...Visual Studio 8/vc/vcpackages/feacp.dll - on its properties page, the version should now show 14.0.50727.762

save the feacp.dll in case this does not work for you ( e.g. to feacp v762.dll )

replace feacp.dll with the .42 version





Re: Visual C++ General [VC++ 2005 SP1] IntelliSense stops working when using stdext::hash_map

Duckboy

You don't have to uninstall / reinstall SP1. Here's how you can do it with SP1 installed:
  1. Find _15225_RTL_x86_enu_VC_FEACP_Pkg.cab on your RTM disc (it's the same file on VS 2005 Pro or Team versions)
  2. From this cab, extract the file "FL_feacp_dll_____X86.3643236F_FC70_11D3_A536_0090278A1BB8" (you may need a decent archive utility such as 7-Zip to do this)
  3. Rename the extracted file "feacp.dll" and replace your SP1 copy with it
Note: The extracted file should have a modified date of 23-Sep-05 and version 14.00.50727.42, as given above.

Note2: I *strongly* recommend renaming the SP1 vesion of feacp.dll so that you can put it back later before upgrading to the inevitable SP2.

Hope this helps,
Philip the Duck