Search code examples
asp.netvisual-studio-2008composite-controls

Error Rendering control - [A] cannot be cast to [B] in the context LoadNeither


I am working on a composite control and this requires me to open multiple Visual studio IDEs and add the control on pages.

This causes Visual Studio to create multiple assemblies.

So every time this happens I close all IDEs, and delete ProjectAssemblies folder.

Can all this be avoided? It's very hard to work like that...

UPDATE:

The specific error is:

An unhandled exception has occured. [A]VerySimpleEditor.Toolbars cannot be cast to [B]VerySimpleEditor.ToolBars. Type A originates from 'VerySimpleEditor, Version=1.0.0.0, Culture=neutral,PublicToken=null' in the context 'LoadNeither' at location C:\Documents and Settings\Mark\Local Settings\Application Data\Microsoft\VisualStudio\9.0\ProjectAssemlies\j-wxrc_j01\verysimpleeditor.dll. Type B originates from 'VerySimpleEditor, Version=1.0.0.0, Culture=neutral, PublicToken=null' in the context 'LoadNeither' at location C:\Documents and Settings\Mark\Local Settings\Application Data\Microsoft\VisualStudio\9.0\ProjectAssemlies\bkqrbe-r01\VerySimpleEditor.dll.

When I try try to cast like this:

 using (System.IO.Stream textReader = typeof(TheEditor).Assembly.GetManifestResourceStream("VerySimpleEditor.Toolbar.xml"))
 {
         XmlSerializer deserializer = new XmlSerializer(typeof(ToolBars));
         ToolBars ob = (ToolBars)deserializer.Deserialize(textReader);

 }

The Control project (dll) and web site project are in one solution, i drag the control from toolbox to the webpage, after re-compiling control.
Any time I recompile control and add it to the page this error occurs, when I restart Visual studio and add the control, it works.


Solution

  • In order to make this work you'll need to put the control project and the test project in two different solutions. The problem is unique to issues where you have to debug another running instance of Visual Studio. You'll see this if you work on Visual Studio add-ins, too.