Strange Error - CS0012: The type x is defined in an assembly that is not referenced Strange Error - CS0012: The type x is defined in an assembly that is not referenced wpf wpf

Strange Error - CS0012: The type x is defined in an assembly that is not referenced


I'm Mike's coworker, and we worked out a solution.

The type X is defined in his assembly, that is only in the GAC. Even though his ASP.NET web appplication did have a reference, it was failing to load from the GAC only for this UserControl. The rest of the application worked as expected. We confirmed the failed loading by placing a copy of the assembly in the bin directory, and everything worked. We removed the assembly, and the problem came back.

Our solution was to manually add an entry to the web.config in the assemblies section to point ASP.NET to the GAC.

It looks like any time you reference a type in the page (not the code-behind), you need the assembly information defined in the web.config file or in a page directive.

<assemblies>        <add assembly="MyAssembly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=[MyPublicKeyToken]"/>   </assemblies>


There's also a bug that can manifest itself with similar symptoms, described here.

The workaround is to delete everything in the C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\ directory, and it only seems to manifest itself in debug mode.


When troubleshooting these types of problems, the Fusion Log Viewer has always been a great help.