Tuesday, 5 February 2008

Fixing the Compile-Time Exception "'MethodName' is is not supported by the language"

Today I got a few cryptic errors when trying to compile a project in which I had updated some referenced dlls:

Error 2 'GetImages' is not supported by the language D:\DataSourceControl\Global\ddkonline.IM\dev\ddkonline.InvestmentManagement\CodeBase\Modules\AssetMaintenance\Services\AssetService.cs 301 55 AssetMaintenance (Modules\AssetMaintenance\AssetMaintenance)

At first glance, this error doesn't make sense. Did they remove a feature of the language when I wasn't looking :o). The cause and solution of this problem is simple. At Lend Lease, we have a common .NET framework that all projects reference by dll. I updated the reference Dlls for some of the projects - but not the whole set. When you update a dll that other referenced dlls depend on, you will get the cryptic error above (reminds me of binary/project compatability problems in the non-.NET days!). To fix, just get the current version of all related dlls.

This fix didn't help me much though, as I needed features from 2 separate branches of the same project - BOTH the old version of the dlls (which had updates to the Business objects) the new version of the dlls (which had updates to the Sharepoint Integration components). Looks like I've got some subversion merging to do :o)


Michael Freidgeim said...

I've got the same error after renaming namespace for one of my class, but full REBuild fixed it.

odyth said...

Thanks this was helpful.