dennismagno / metroframework-modern-ui

My humble attempt to bring the new Modern UI alias Metro UI of Windows 8 to .NET Windows Forms applications.
http://dennismagno.github.io/metroframework-modern-ui
Other
861 stars 1.08k forks source link

Failed to create component 'MetroButton' - .NET Core 5 #121

Open robdplatt opened 3 years ago

robdplatt commented 3 years ago

I have multiple WinForm projects that I've upgraded from .NET Framework 4.7.2 to .NET Core 5. The projects that referenced MetroModernUI controls failed to load in the designer - though they compiled and ran just fine.

If I tried to open the form in the designer it would open blank/white with no ability to interact with it.

I eventually found that if I removed my references to MetroButton, the form would load without issue.

If I drag the MetroButton control onto the form, I get the following error:

Failed to create component 'MetroButton'. The error message follows:

'System.InvalidCastException: Unable to cast object of type 'Microsoft.VisualStudio.WinForms.RemoteClient.Proxies.ControlProxy`1[Microsoft.VisualStudio.WinForms.RemoteClient.Proxies.EncodedNumberType+Bits`32[Microsoft.VisualStudio.WinForms.RemoteClient.Proxies.EncodedNumberType+Off,Microsoft.VisualStudio.WinForms.RemoteClient.Proxies.EncodedNumberType+Off,Microsoft.VisualStudio.WinForms.RemoteClient.Proxies.EncodedNumberType+On,Microsoft.VisualStudio.WinForms.RemoteClient.Proxies.EncodedNumberType+Off,Microsoft.VisualStudio.WinForms.RemoteClient.Proxies.EncodedNumberType+Off,Microsoft.VisualStudio.WinForms.RemoteClient.Proxies.EncodedNumberType+On,Microsoft.VisualStudio.WinForms.RemoteClient.Proxies.EncodedNumberType+On,Microsoft.VisualStudio.WinForms.RemoteClient.Proxies.EncodedNumberType+On,Microsoft.VisualStudio.WinForms.RemoteClient.Proxies.EncodedNumberType+Off,Microsoft.VisualStudio.WinForms.RemoteClient.Proxies.EncodedNumberType+Off,Microsoft.VisualStudio.WinForms.RemoteClient.Proxies.EncodedNumberType+Off,Microsoft.VisualStudio.WinForms.RemoteClient.Proxies.EncodedNumberType+Off,Microsoft.VisualStudio.WinForms.RemoteClient.Proxies.EncodedNumberType+Off,Microsoft.VisualStudio.WinForms.RemoteClient.Proxies.EncodedNumberType+Off,Microsoft.VisualStudio.WinForms.RemoteClient.Proxies.EncodedNumberType+Off,Microsoft.VisualStudio.WinForms.RemoteClient.Proxies.EncodedNumberType+Off,Microsoft.VisualStudio.WinForms.RemoteClient.Proxies.EncodedNumberType+Off,Microsoft.VisualStudio.WinForms.RemoteClient.Proxies.EncodedNumberType+Off,Microsoft.VisualStudio.WinForms.RemoteClient.Proxies.EncodedNumberType+Off,Microsoft.VisualStudio.WinForms.RemoteClient.Proxies.EncodedNumberType+Off,Microsoft.VisualStudio.WinForms.RemoteClient.Proxies.EncodedNumberType+Off,Microsoft.VisualStudio.WinForms.RemoteClient.Proxies.EncodedNumberType+Off,Microsoft.VisualStudio.WinForms.RemoteClient.Proxies.EncodedNumberType+Off,Microsoft.VisualStudio.WinForms.RemoteClient.Proxies.EncodedNumberType+Off,Microsoft.VisualStudio.WinForms.RemoteClient.Proxies.EncodedNumberType+Off,Microsoft.VisualStudio.WinForms.RemoteClient.Proxies.EncodedNumberType+Off,Microsoft.VisualStudio.WinForms.RemoteClient.Proxies.EncodedNumberType+Off,Microsoft.VisualStudio.WinForms.RemoteClient.Proxies.EncodedNumberType+Off,Microsoft.VisualStudio.WinForms.RemoteClient.Proxies.EncodedNumberType+Off,Microsoft.VisualStudio.WinForms.RemoteClient.Proxies.EncodedNumberType+Off,Microsoft.VisualStudio.WinForms.RemoteClient.Proxies.EncodedNumberType+Off,Microsoft.VisualStudio.WinForms.RemoteClient.Proxies.EncodedNumberType+Off]]' to type 'System.Windows.Forms.Control'.

   at System.Windows.Forms.Design.ControlDesigner.get_Control()
   at System.Windows.Forms.Design.ControlDesigner.Initialize(IComponent component)
   at System.ComponentModel.Design.DesignerHost.AddToContainerPostProcess(IComponent component, String name, IContainer containerToAddTo)
   at System.ComponentModel.Design.DesignerHost.PerformAdd(IComponent component, String name)
   at System.ComponentModel.Design.DesignerHost.Add(IComponent component, String name)
   at Microsoft.VisualStudio.WinForms.RemoteClient.Utilities.ContainerHelpers.SynchronizeComponents(IContainer rootContainer, ComponentProxy[] components, String[] componentNames, String[] containerNames)
   at Microsoft.VisualStudio.WinForms.DesignerHostShim.SynchronizeWithSnapshot(DesignerHostSnapshot snapshot)
   at Microsoft.VisualStudio.WinForms.RemoteClient.Toolbox.WinFormsToolboxItem.CreateComponentsCore(IDesignerHost host, IDictionary defaultValues)
   at System.Drawing.Design.ToolboxItem.CreateComponents(IDesignerHost host, IDictionary defaultValues)
   at Microsoft.VisualStudio.Windows.Forms.Design.OleDragDropHandler.CreateTool(ToolboxItem tool, ControlProxy parent, Int32 x, Int32 y, Int32 width, Int32 height, Boolean hasLocation, Boolean hasSize, ToolboxSnapDragDropEventArgs snapDragDropEventArgs)'

I haven't tried other controls. My form is a MetroForm.