If you've stumbled upon this post it most likely means you're having issues while trying to open XSD files from Visual Studio 2017 or 2019. More specifically, this problem often happens when you try to open a .xsd file of a rather old project, originally created using the ASP.NET Framework 2.0, 3.5 or so on and then upgraded to ASP.NET 4.x later on.
The error message presented by the Visual Studio GUI is the following:
Value cannot be null. Parameter name: instance
And here's the stacktrace:
Hide Call Stack at System.ComponentModel.TypeDescriptor.AddAttributes(Object instance, Attribute[] attributes) at Microsoft.VisualStudio.Design.VSDesignSurface.CreateDesigner(IComponent component, Boolean rootDesigner) 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 System.ComponentModel.Container.Add(IComponent component) at Microsoft.VSDesigner.DataSource.Designer.DataSourceDesignerLoader.HandleLoad(IDesignerSerializationManager serializationManager) at Microsoft.VSDesigner.DesignerFramework.BaseDesignerLoader.PerformLoad(IDesignerSerializationManager serializationManager) at Microsoft.VSDesigner.DesignerFramework.BaseDesignerLoader.Microsoft.VisualStudio.TextManager.Interop.IVsTextBufferDataEvents.OnLoadCompleted(Int32 fReload)
This seems to be .net 3.5 specific as I opened another project that's 4.0 and its .xsd opened in designer fine.
Here's a screenshot showing the error, as shown by the Visual Studio xsd design view/mode:
UPDATE: depending on Visual Studio and .NET Framework, some times the error message can be slightly different, such as:
There is no designer for the class Microsoft.VSDesigner.DataSource.DesignDataSource.
Luckily enough, the workaround is still the same.
The Workaround
At the time of writing (July 2019) there are at least two open issues created to address this problem on the Visual Studio Developer Community website:
Despite these feedbacks, there are no official answers - or fixes - released by Microsoft so far.
Luckily enough I was able to find a workaround by mixing two different suggestions taken from two treads on MS Development Network and StackOverflow. The workaround I found works that way:
- Open the Project (or Website) Property Page.
- Locate the section where you can choose the .NET Framework version (Start Options -> Build for most project types).
- If your project is using a .NET Framework lower than 4.7.2, set it to 4.7.2 (in case you don't have it installed, you might have to download it and restart Visual Studio afterwards).
- If your project is using the .NET Framework 4.7.2, downgrade it to 4.6.1 (again, if you don't have it download it and restart Visual Studio).
This should permanently fix your problem and let you open the XSD files in design mode.
Thanks for your help with this Ryan! You saved me a lot of time, possibly an infinite amount of time!
Thank you, this helped resolve the error.
HI Ryan,
I guess I wasted days like 15 days seeking this solution.
Thank you