Debugging error "The Type 'xx' is defined in an assembly that is not referenced"
Posted
by Abel
on Stack Overflow
See other posts from Stack Overflow
or by Abel
Published on 2009-11-13T11:05:48Z
Indexed on
2010/04/03
1:33 UTC
Read the original article
Hit count: 946
The full error is as follows:
The type 'System.Windows.Forms.Control' is defined in an assembly that is not referenced. You must add a reference to assembly 'System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.
and it points at the very first statement (an Debug.Assert line) in the very first class in a library project that doesn't need System.Windows.Forms
(or so I thought). I know how to solve it: add the mentioned reference. But how do I find out what library is causing this error, or better, what part of the code triggers using the WinForms library?
Normally, you can add libraries that reference others, but you only need to add references to these others when they're actually used.
EDIT: Alternative solution
This or similar problems can also be resolved using the Binding Log Viewer Fuslogvw.exe from Microsoft's Framework Tools. It shows all attempts and successes of assemblies your application binds to.
© Stack Overflow or respective owner