As the continuation of first hit IIS 7 experience, I learnt another interesting lesson on second hit of IIS 7.0.
After the successful fix of the first issue (as mentioned in last blog), I started browsing my service. Another hit! This time, I got the error as:
Could not load file or assembly 'XXXXX' or one of its dependencies. An attempt was made to load a program with an incorrect format.
Guess what! The error is due to the upgrade in development environment from 32-bit to 64 bit system. On opening the particular project, it has been discovered that the project configured to target x 86 platforms. As the application is running on 64-bit platform, it will have such ‘incorrect format’ error.
To fix it, perform the below steps:
- Open project properties window
- Select Build tab
- Change it to ‘Any CPU’
- Save your changes
- Compile your project and run :)
Another tip. Let us say you have a VS project that has the build configuration set to Any CPU but you are still getting the same error for an assembly. In that case, please make sure you have done so for all dependencies your website uses. You can also enable 32-bit mode on IIS and adjust your website and its dependencies to target x86 platform. Interesting technology hits on migrating to IIS 7.0