2012-04-26 72 views
5

我們正在經歷的在VS2010 WPF設計的各種機器在以下情況下崩潰:什麼導致VS 2010 SP1 WPF設計器崩潰?

  • VS 2010 SP1安裝
  • 64位Windows 7
  • 參考NHibernate.dll(版本1.2.0.712 )

重現錯誤,創建一個新的WPF解決方案,請執行以下操作:

  • 創建一個新的WPF解決方案
  • 打開主窗口,添加一個文本框它,設置一些靜態文本
  • 添加到FluentNhibernate.dll參考,版本1.2.0.712
  • 清潔並重新生成解決方案
  • 在設計師
  • 打開主窗口中再次,在設計師編輯文本
  • ,單擊左側窗口中,然後再返回到文本框中再次

沒有數據/命令綁定,沒有代碼引用流感entNHibernate功能或任何非常先進的,只是一個新的WPF解決方案與在MainWindow.xaml以下XAML:

<Window x:Class="testWpfApplication2.MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    Width="800" 
    Title="MainWindow" Height="350" > 
    <Grid> 
    <TextBox Text="yxcydfdssdfsdfdsfsdsddsasdyxcasd" /> 
    </Grid> 
</Window> 

下面是完整的堆棧跟蹤:

System.Reflection.TargetInvocationException 
Exception has been thrown by the target of an invocation. 
    at System.RuntimeMethodHandle._InvokeMethodFast(IRuntimeMethodInfo method, Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeType typeOwner) 
    at System.RuntimeMethodHandle.InvokeMethodFast(IRuntimeMethodInfo method, Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeType typeOwner) 
    at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks) 
    at System.Delegate.DynamicInvokeImpl(Object[] args) 
    at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs) 
    at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler) 

System.NullReferenceException 
Object reference not set to an instance of an object. 
    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 MS.Internal.Metadata.ClrType.Equals(Object obj) at System.Collections.Generic.ObjectEqualityComparer`1.Equals(T x, T y) 
    at System.Collections.Generic.Dictionary`2.FindEntry(TKey key) 
    at Microsoft.Windows.Design.Metadata.Xaml.XamlExtensionImplementations.<>c__DisplayClass5.<FindAttachableProperties>b__4(ITypeMetadata walkType) 
    at MS.Internal.Design.Metadata.Xaml.XamlType.<GetAllAttachableProperties>d__7.MoveNext() 
    at MS.Internal.Design.Metadata.Xaml.XamlType.<FindAttachableProperties>d__0.MoveNext() 
    at Microsoft.Windows.Design.Metadata.Xaml.XamlExtensionImplementations.<FindAttachableProperties>d__7.MoveNext() 
    at MS.Internal.VirtualModel.VirtualModelPropertyCollection.<GetUncachedProperties>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.Designer.PropertyEditing.Model.Properties.ModelPropertyMerger.<GetFirstProperties>d__0.MoveNext() 
    at MS.Internal.Designer.PropertyEditing.Views.PropertyEntryReader.RedraftEntries(IPropertyViewManager viewManager, Selection selection, Boolean attachedOnly, IEventCodeBehindProxy eventCodeBehindProxy, CategoryList categoryList) 
    at MS.Internal.Designer.PropertyEditing.PropertyInspector.UpdateCategories(Selection selection, Boolean attachedOnly, IEntryReader entryReader) 
    at MS.Internal.Designer.PropertyEditing.PropertyInspector.RefreshPropertyList(Boolean attachedOnly) 
    at MS.Internal.Designer.PropertyEditing.PropertyInspector.OnSelectionChangedIdle() 

MS已經確認這是一個錯誤SP1,但對於一個令人滿意的結果,我需要更多地瞭解這個問題...

是什麼原因導致這一點,爲什麼它,只有當addind發生FNH,從特定位置加入爲什麼只有當它(組裝是相同的 - 我們做了按字節比較)?不帶SP1的,它的工作原理......在違規控制的負載情況下增加

if (System.ComponentModel.DesignerProperties.GetIsInDesignMode(this)) 
       return; 

+1

最後一件事我已經做了這方面正在下載FluentNHibernate源碼(最新)並將其作爲項目參考。這工作正常,所以基本上它必須是有問題的DLL的東西。 Visual Studio是否對所引用的DLL執行任何類似校驗和計算? – 2012-05-02 14:56:41

+0

這是否發生在您使用的任何控件上?當窗口內沒有控件時會發生嗎?你是如何安裝NHibernate的? – Kcvin 2013-11-13 16:40:15

回答