I am developing a winforms application, and I want to place the designers into a separate project, because it requires the reference to .Net full framework (System.Design), while the application itself requires .Net framework client version only.
I have 3 projects:
- TestControls with TestUserControl
- TestControls.Designers with PanelHodelerDesigner
- TestApp to test the TestUserControl
TestControls and TestControlsDesigners are signed and registered in GAC.
When I define Designer for the user control as follows, VS cannot locate the designer
[Designer("TestControls.Designers.PanelHolderDesigner, TestControls.Designers")]
public partial class TestUserControl : UserControl, IPanelHolder
{
...
}
When I change it to fully qualified name including version, culture and publicKeyToken like follows, VS loads the designer correctly.
[Designer("TestControls.Designers.PanelHolderDesigner, TestControls.Designers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=520302431ebc763b")]
public partial class TestUserControl : UserControl, IPanelHolder
{
...
}
All samples in the web that I found teach that I should use shorten version. Why it does not work for me? What else should I do to use the short version of designer attribute?