我使用 System.Xaml 序列化工作流,并且我在来自 System.Xaml.dll 程序集的测试类中收到以下异常。这很奇怪,因为它以前一直在工作,但突然停止工作。我猜我可能已经安装了一些导致冲突的新程序集。我的问题是如何确定尝试加载哪个程序集,以及加载时预期的版本。我猜 Microsoft.Activities 引用的 System.Workflow.Activities 版本不正确,但我不知道它需要哪个版本。
System.IO.FileLoadException:无法加载文件或程序集“Microsoft.Activities,Version=1.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(来自 HRESULT 的异常:0x80131040)
在 System.Signature.GetSignature(Void* pCorSig, Int32 cCorSig, RuntimeFieldHandleInternal fieldHandle, IRuntimeMethodInfo methodHandle, RuntimeType declaringType) 在 System.Reflection.RuntimeMethodInfo.get_Signature() 在 System.Reflection.RuntimeMethodInfo.GetParametersNoCopy() 在 System.Reflection.RuntimePropertyInfo。 GetIndexParametersNoCopy() 在 System.Reflection.RuntimePropertyInfo.GetIndexParameters() 在 System.Xaml.Schema.TypeReflector.FilterProperties(PropertyInfo[] propList, List 1 knownMembers, Boolean skipKnownNegatives)
at System.Xaml.Schema.TypeReflector.LookupAllMembers(ref ICollection
1 newProperties, ref ICollection1 newEvents, ref List
1 knownMembers) 在 System.Xaml.Xaml.XamlType.GetAllMembers() 在 System.Xaml.XamlObjectReader.ObjectMarkupInfo.GetXamlSerializableProperties(XamlType 类型,SerializerContext 上下文) 在 System.Xaml.XamlObjectReader.ObjectMarkupInfo.AddRecordMembers System.Xaml.XamlObjectReader.ObjectMarkupInfo.AddRecordMembers(对象值,SerializerContext 上下文,TypeConverter 转换器)处的(对象值,SerializerContext 上下文,ParameterInfo[] methodParameters,XamlType xamlType)在 System.Xaml.XamlObjectReader.ObjectMarkupInfo.ForObjectInternal(对象值,SerializerContext上下文,TypeConverter 转换器)在 System.Xaml.XamlObjectReader.ObjectMarkupInfo.ForObject(对象值,SerializerContext 上下文,TypeConverter instanceConverter,布尔 isRoot)在 System.Xaml.XamlObjectReader。System.Xaml.XamlObjectReader.MemberMarkupInfo.ForSequence 处的 MemberMarkupInfo.ForSequenceItems(对象 sourceOrValue,XamlMember 属性,XamlType xamlType,SerializerContext 上下文,布尔 allowReadOnly)(对象源,XamlMember 属性,SerializerContext 上下文,布尔 isAttachable)
持续了很长时间……