So, after I’ve installed (and deinstalled) SP1 for the first time, I have decided to give it another shot… Regrettably…

Here is, what I’ve experienced so far:

  • I’m not seeing “Hidden” Controls in the Designer anymore (I mean.. what the heck?! That my customers aren’t seeing them in a deployed application is perfectly fine, but why (at least) does no option exist to turn this on / off in the Designer?)
  • “Debugging-Tooltips” (or what should I call them?) are unstable… Mostly 90% of the time I want to look up a variable or property, no Tooltip opens on mouseover… Here you go, Immediate Window…
  • The XAML-Designer loads up way slower than before
  • The XAML-Designer occasionally crashes with an InvalidOperationException:
System.InvalidOperationException
Operation is not valid due to the current state of the object.
  at Microsoft.MetadataReader.MetadataOnlyCommonArrayType.GetGenericTypeDefinition()
  at Microsoft.VisualStudio.Shell.Design.TypeWrapper.GetGenericTypeDefinition()
  at Microsoft.VisualStudio.Shell.Design.VsTargetFrameworkUtil.TypesMatch(Type tfpType, Type rtType)
  at Microsoft.VisualStudio.Shell.Design.VsTargetFrameworkUtil.FindBestRuntimeMethodMatch(MethodBase tfpMethod, List`1 rtMethods)
  at Microsoft.VisualStudio.Shell.Design.VsTargetFrameworkUtil.GetRuntimeMethod(MethodBase method)
  at Microsoft.VisualStudio.Shell.Design.VsTargetFrameworkMethodInfo.get_RuntimeMethod()
  at Microsoft.VisualStudio.Shell.Design.VsTargetFrameworkUtil.EnsureRuntimeMethod(MethodBase method)
  at Microsoft.VisualStudio.Shell.Design.VsTargetFrameworkUtil.GetRuntimeTypeVariable(Type type)
  at Microsoft.VisualStudio.Shell.Design.VsTargetFrameworkUtil.GetRuntimeType(Type type)
  at Microsoft.VisualStudio.Shell.Design.VsTargetFrameworkUtil.EnsureRuntimeType(Type type)
  at Microsoft.VisualStudio.Shell.Design.VsTargetFrameworkUtil.GetRuntimeType(Type type)
  at Microsoft.VisualStudio.Shell.Design.VsTargetFrameworkType.TryGetRuntimeType()
  at Microsoft.VisualStudio.Shell.Design.VsTargetFrameworkUtil.EnsureRuntimeType(Type type)
  at Microsoft.VisualStudio.Shell.Design.VsTargetFrameworkProvider.GetRuntimeType(Type reflectionType)
  at MS.Internal.Package.VSIsolationProviderService.RemoteReferenceProxy.VsReflectionResolver.GetRuntimeType(Type reflectionType)
  at Microsoft.Windows.Design.Metadata.ReflectionMetadataContext.CachingReflectionResolver.GetRuntimeType(Type reflectionType)
  at Microsoft.Windows.Design.Metadata.ReflectionMetadataContext.Microsoft.Windows.Design.Metadata.IReflectionResolver.GetRuntimeType(Type reflectionType)
  at MS.Internal.Metadata.ClrType.get_RuntimeMember()
  at MS.Internal.Metadata.ClrMember`1.Microsoft.Windows.Design.Metadata.Reflection.IReflectionMember.get_MemberInfo()
  at Microsoft.Windows.Design.Metadata.ReflectionMetadataContext.IsAssignableFrom(ITypeMetadata requesting, ITypeMetadata target)
  at MS.Internal.Metadata.ClrType.IsAssignableFrom(ITypeMetadata type)
  at MS.Internal.Design.Metadata.Xaml.AttachableProperty.IsAttachableTo(ITypeMetadata targetType, ParentScope scope)
  at MS.Internal.Design.Metadata.Xaml.XamlType.d__0.MoveNext()
  at Microsoft.Windows.Design.Metadata.Xaml.XamlExtensionImplementations.d__7.MoveNext()
  at MS.Internal.VirtualModel.VirtualModelPropertyCollection.d__0.MoveNext()
  at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
  at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
  at MS.Internal.VirtualModel.VirtualModelPropertyCollection.GetEnumerator()
  at MS.Internal.VirtualModel.VirtualModelUtilities.WrapProperties(IVirtualModelItem item)
  at MS.Internal.VirtualModel.VirtualModelItem.System.ComponentModel.ICustomTypeDescriptor.GetProperties()
  at System.ComponentModel.TypeDescriptor.MergedTypeDescriptor.System.ComponentModel.ICustomTypeDescriptor.GetProperties()
  at System.ComponentModel.TypeDescriptor.GetPropertiesImpl(Object component, Attribute[] attributes, Boolean noCustomTypeDesc, Boolean noAttributes)
  at System.Windows.PropertyPath.ResolvePropertyName(String name, Object item, Type ownerType, Object context, Boolean throwOnError)
  at MS.Internal.Data.PropertyPathWorker.GetInfo(Int32 k, Object item, SourceValueState& svs)
  at MS.Internal.Data.PropertyPathWorker.ReplaceItem(Int32 k, Object newO, Object parent)
  at MS.Internal.Data.PropertyPathWorker.UpdateSourceValueState(Int32 k, ICollectionView collectionView, Object newValue, Boolean isASubPropertyChange)
  at MS.Internal.Data.ClrBindingWorker.AttachDataItem()
  at System.Windows.Data.BindingExpression.Activate(Object item)
  at System.Windows.Data.BindingExpression.AttachToContext(AttachAttempt attempt)
  at System.Windows.Data.BindingExpression.AttachOverride(DependencyObject target, DependencyProperty dp)
  at System.Windows.Data.MultiBindingExpression.AttachBindingExpression(Int32 i, Boolean replaceExisting)
  at System.Windows.Data.MultiBindingExpression.AttachOverride(DependencyObject d, DependencyProperty dp)
  at System.Windows.Data.BindingExpressionBase.Attach(DependencyObject target, DependencyProperty dp)
  at System.Windows.Data.BindingExpressionBase.OnAttach(DependencyObject d, DependencyProperty dp)
  at System.Windows.DependencyObject.SetValueCommon(DependencyProperty dp, Object value, PropertyMetadata metadata, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType, Boolean isInternal)
  at System.Windows.DependencyObject.SetValue(DependencyProperty dp, Object value)
  at System.Windows.Data.BindingOperations.SetBinding(DependencyObject target, DependencyProperty dp, BindingBase binding)
  at System.Windows.FrameworkElement.SetBinding(DependencyProperty dp, BindingBase binding)
  at MS.Internal.GridControl.GridRowAdornerBase..ctor(ModelItem gridItem, ModelItem rowItem)
  at MS.Internal.GridControl.GridRowSelectAdorner..ctor(ModelItem grid, ModelItem row)
  at MS.Internal.GridControl.GridDesigner.EnsureRowAdorners(ModelItem rowDefModel, Boolean withHandle)
  at MS.Internal.GridControl.GridDesigner.EnsureAllRowAdorners()
  at MS.Internal.GridControl.GridDesigner.InitGridDesigner()
  at MS.Internal.GridControl.GridDesigner.GetDesigner(ModelItem gridItem)
  at MS.Internal.GridControl.AlwaysVisibleGridAdornerProvider.Activate(ModelItem item)
  at Microsoft.Windows.Design.Interaction.AdornerProvider.InvokeActivate(EditingContext context, ModelItem item)
  at MS.Internal.Features.AdornerProviderFeatureConnector.FeatureProvidersAdded(ModelItem item, IEnumerable`1 extensions)
  at Microsoft.Windows.Design.Policies.PolicyDrivenFeatureConnector`1.UpdateFeatureProviders()
  at MS.Internal.Features.PolicyDrivenToolFeatureConnector`1.UpdateCurrentTool(Tool newTool)
  at MS.Internal.Features.PolicyDrivenToolFeatureConnector`1.< .ctor>b__0(Tool newTool)
  at Microsoft.Windows.Design.ContextItemManager.SubscribeProxy`1.SubscribeContext(ContextItem item)
  at Microsoft.Windows.Design.SubscribeContextCallback.Invoke(ContextItem item)
  at Microsoft.Windows.Design.EditingContext.DefaultContextItemManager.OnItemChanged(ContextItem item)
  at Microsoft.Windows.Design.EditingContext.DefaultContextItemManager.SetValue(ContextItem value)
  at MS.Internal.Host.ToolSubsystem.ActivateTool(ToolFactory toolFactory)
  at MS.Internal.Host.ToolSubsystem..ctor(EditingContext editingContext, DesignerContext designerContext)
  at MS.Internal.Host.Designer.Load()
  at MS.Internal.Designer.VSDesigner.Load()
  at MS.Internal.Designer.VSIsolatedDesigner.VSIsolatedView.Load()
  at MS.Internal.Designer.VSIsolatedDesigner.VSIsolatedDesignerFactory.Load(IsolatedView view)
  at MS.Internal.Host.Isolation.IsolatedDesigner.BootstrapProxy.LoadDesigner(IsolatedDesignerFactory factory, IsolatedView view)
  at MS.Internal.Host.Isolation.IsolatedDesigner.BootstrapProxy.LoadDesigner(IsolatedDesignerFactory factory, IsolatedView view)
  at MS.Internal.Host.Isolation.IsolatedDesigner.Load()
  at MS.Internal.Designer.DesignerPane.LoadDesignerView(Boolean isReload)