【问题标题】:Visual Studio 2010 Windows Forms Designer ProblemsVisual Studio 2010 Windows 窗体设计器问题
【发布时间】: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


    【解决方案1】:

    用于生成 ResX 的程序集与当前引用的程序集之间似乎存在版本冲突。

    尝试删除引用,将其重新添加为项目引用,然后重新生成 ResX。

    【讨论】:

    • 我已经从 resx 文件中删除了一个我在代码中使用的属性……这有点用,还没有完全测试,如果这不起作用,我会这样做。
    【解决方案2】:

    发现了问题,如果您在 UserControl 构造函数中使用初始化实体框架上下文的代码会出现问题......甚至在尝试为 Load 事件处理程序中的数据操作初始化上下文时也会出现问题。

    棘手!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-10-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多