【发布时间】:2010-12-01 23:59:38
【问题描述】:
这不是一个疯狂的错误吗?
当我尝试打开一个包含来自另一个组件的一些用户控件的表单并在 Visual Studio 设计器上使用实体框架和 SQL CE 时,我得到了这个。
Namespace.T[] 类型的对象无法转换为 Namespace.T[] 类型!!!
调用栈:
在 System.RuntimeType.TryChangeType(Object value, Binder binder, CultureInfoculture, Boolean needsSpecialCast) at System.RuntimeType.CheckValue(Object value, Binder binder, CultureInfoculture, BindingFlags invokeAttr) at System.Reflection.RtFieldInfo.InternalSetValue( System.Runtime.Serialization.FormatterServices.SerializationSetValue(MemberInfo fi, Object target, Object value) 在 System.Runtime.Serialization.ObjectManager 中的对象 obj、对象值、BindingFlags invokeAttr、Binder binder、CultureInfo 文化、布尔 doVisibilityCheck、布尔 doCheckConsistency)。 CompleteObject(ObjectHolder holder, Boolean bObjectFullyComplete) at System.Runtime.Serialization.ObjectManager.DoNewlyRegisteredObjectFixups(ObjectHolder holder) at System.Runtime.Serialization.ObjectManager.RegisterObject(Object obj, Int64 objectID, SerializationInfo info, Int64 idOfContainingObj, MemberInfo member, Int32[ ] arrayIndex) 在 System.Runtime.Serialization.Formatters.Binary.ObjectReader.RegisterObject(Objec t obj, ParseRecord pr, ParseRecord objectPr, Boolean bIsString) 在 System.Runtime.Serialization.Formatters.Binary.ObjectReader.ParseObjectEnd(ParseRecord pr) 在 System.Runtime.Serialization.Formatters.Binary.ObjectReader.Parse(ParseRecord pr) 在 System .Runtime.Serialization.Formatters.Binary.__BinaryParser.Run() 在 System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize(HeaderHandler handler, __BinaryParser serParser, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage) 在 System.Runtime.Serialization .Formatters.Binary.BinaryFormatter.Deserialize(Stream serializationStream, HeaderHandler handler, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage) 在 System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream serializationStream) 在 System.Resources.ResXDataNode.GenerateObjectFromDataNodeInfo (DataNodeInfo dataNodeInfo, ITypeResolutionService typeResolver) 在 System.Resources.ResXDataNode.GetVal ue(ITypeResolutionService typeResolver) at System.Resources.ResXResourceReader.ParseDataNode(XmlTextReader reader, Boolean isMetaData) at System.Resources.ResXResourceReader.ParseXml(XmlTextReader reader)
但它的名称类型完全相同!
项目构建成功,运行正常!!!
好的,我删除了表单的 .resx 文件,现在我收到了 2 个其他错误,我认为我已经通过了。
第一个是“指定的命名连接,不打算与 EntityClient 提供程序一起使用,或者无效”
调用栈:
在 System.Data.EntityClient.EntityConnection.ChangeConnectionString(String newConnectionString) 在 System.Data.EntityClient.EntityConnection..ctor(String connectionString) 在 System.Data.Objects.ObjectContext.CreateEntityConnection(String connectionString) 在 System.Data .Objects.ObjectContext..ctor(String connectionString, String defaultContainerName) 在 D:\Visual Studio Projects\DJProAutomation\DJPro.Settings.Model\SettingsSelfTrackModel.Context.cs:line 中的 DJPro.Settings.Model.SettingsEntities..ctor() D:\Visual Studio Projects\DJProAutomation\DJPro.Data.Access\SettingsDataOperations.cs 中的 DJPro.Data.Access.SettingsDataOperations.GetConfiguration() 中的 33:D 中 DJPro.Studio.Controls.DeckControl..ctor() 中的第 33 行:\Visual Studio Projects\DJProAutomation\DJPro.Deck.Controls\DeckControl.cs:51 行
第二个是关于我对图书馆所说的控制。
“变量deckControl1要么未声明,要么从未赋值”
调用栈:
在 System.ComponentModel.Design.Serialization.CodeDomSerializerBase.Error(IDesignerSerializationManager manager, String exceptionText, String helpLink) at System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeExpression(IDesignerSerializationManager manager, String name, CodeExpression expression) at System。 ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeExpression(IDesignerSerializationManager manager, String name, CodeExpression expression) at System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeStatement(IDesignerSerializationManager manager, CodeStatement statement)
然后从备份中恢复 resx 文件并回到第一个问题。
如此奇怪的错误,实体数据模型库中的一切似乎都很好,并且 app.config 具有所有必要的连接字符串。至于deckControl1 UserControl,对于我创建的库来说似乎很好并且可以正常打开。
我认为这让我足够疯狂并停止开发。
有什么想法吗?
【问题讨论】:
标签: entity-framework-4 windows-forms-designer ado.net-entity-data-model