views:

17

answers:

1

I have to update a legacy Visual Studio 2005 app. I installed the dev platform including 3rd-party components on my server 2008 development box.

After getting the latest version from our legacy SourceSafe 2005 database, updating all the broken references and trying to compile this solution, I've fixed all the errors except these, which I have no idea how to find:

ERROR

Description: The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

File: LC


WARNING

Description: Found conflicts between different versions of the same dependent assembly. C:\Windows\Microsoft.NET\Framework\v2.0.50727\Microsoft.Common.targets

File: Microsoft.Common.targets


...all of which basically tells me dick, and the solution won't compile. What I guess I mean is, how do I find out WHICH assembly has the problem? Little help?
THANKS

A: 

My guess is that somewhere someone is referring to two different assemblies with the same name. Perhaps someone has put the .NET DLLs inside of your working copy and is trying to link to them instead of using the ones in your GAC?

More generically, it sounds like you have some assembly (A) which depends on another assembly (B). B refers to one copy of an assembly and A has a reference to an assembly of the same name, located in a different place.

You're going to have to put your hard hat on and go digging. Spoiler: What you find will most likely not be gold.

Dave Markle
So can I even tell if it's a Microsoft assembly vs. a 3rd-party one? is that why it says 'Microsoft.Common.targets'? This solution has both MS and other component references. Anything at all to go on? I'm at a complete loss with this ambiguous error message.
stephen falken
Well Microsoft.Common.targets is not an assembly -- it's a MSBuild file that's included in your MSBuild file. It's not telling you that MSBuild.Common.targets is a problem file, it's telling you that MSBuild.Common.targets is what's telling you what the problem is. If that makes any sense... My advice would be to attempt to build the component assemblies independently and try to narrow down the reference problem that way. And then drink some of Kentucky's finest sour mash bourbon whiskey. Come to think of it, order doesn't matter there.
Dave Markle
LOL ok. This legacy stuff is a constantly thankless pursuit. Anyway, I plan on removing all assemblies from the project one at a time and trying a build after each removal; then re-adding them one by one. Within either of those processes, the culprit will be found. Hopefully a wee spot of the MacAllan will suffice instead.
stephen falken
It will. And make sure the next time you or a friend goes overseas, you should get a bottle of the Macallan Select Oak. Fantastic stuff, and a great price at the duty-free.
Dave Markle