Original Question
I'm working on a WPF application with Visual Studio 2010, using Telerik
.
I have been dealing with a lot of crashes everytime I use the designer : clicking on a element, changing its position, even changing its name leads to a crash, and displays the following exception :
System.ArgumentNullException
Value cannot be null.
to System.RuntimeType.MakeGenericType(Type[] instantiation)
to Microsoft.VisualStudio.Shell.Design.VsTargetFrameworkUtil.GetRuntimeType(Type type)
to Microsoft.VisualStudio.Shell.Design.VsTargetFrameworkType.TryGetRuntimeType()
to Microsoft.VisualStudio.Shell.Design.VsTargetFrameworkUtil.EnsureRuntimeType(Type type)
to Microsoft.VisualStudio.Shell.Design.VsTargetFrameworkProvider.GetRuntimeType(Type reflectionType)
[...]
I tried the following things :
- Uninstall and reinstall Telerik;
- Uninstall and reinstall .NET 4.0;
- Uninstall and reinstall Visual Studio.
None of these attempts worked.
This morning, I noticed that the designer didn't crashed at all, and I understood why : the designer crashes when I have opened or edited XAML.
After opening XAML, Visual Studio begin to freeze and the designer crashes everytime I try to click something. If I close Visual Studio and Build the solution (without opening XAML), everything works fine with the designer.
My guess is that something goes wrong when Visual Studio tries to "convert" XAML code to graphical elements in the designer, and only in that direction.
Question : Have you ever experimented this kind of thing ? Have you any idea of why modifiying XAML causes crashes and how to solve it ?
Thank you in advance.
New attemps done after reading answers
- Debug the Visual Studio instance itself when the designer opens. The method which leads to the
ArgumentNullException
is GetRuntimeTime
. I've been able to see the .NET code but I couldn't determine the source of the problem. See the full stack trace below :
Additionally, this is the exact line where the error occurs and the exception details. Note that the file is VSIsolationProviderService.cs
and that I am able to see the source thanks to the .NET Reflector Object Browser
.
Message=Value cannot be null.
Source=mscorlib
StackTrace:
to System.RuntimeType.MakeGenericType(Type[] instantiation)
InnerException: null
Finally, the Local Variables
inspector at the moment of the Exception shows the following object :
End of the object :
Answers to comments :
- The value of
this._targetFrameworkProvider
at the line where the exception occurs is below.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…