0

これは狂ったエラーではありませんか?Visual Studio 2010 Windowsフォームデザイナの問題

別のasseblyからUserControlsを含むフォームを開き、ビジュアルスタジオデザイナでEntity FrameworkとSQL CEを使用しようとすると、これが発生します。

オブジェクト型Namespace.T []は、型名前空間に変換できません。[] !!!

コールスタック:System.RuntimeType.CheckValueでSystem.RuntimeType.TryChangeTypeで

(Object値、バインダーバインダー、CultureInfoカルチャ、ブールneedsSpecialCast)(Object値、バインダーバインダー、CultureInfoカルチャ、のBindingFlags invokeAttr)でSystem.Runtime.Serialization.FormatterServices.SerializationSetValue(MemberInfo fi、Object target、Object value)at System.Reflection.RtFieldInfo.InternalSetValue(Object obj、Object value、BindingFlags invokeAttr、バインダーバインダー、CultureInfoカルチャ、ブールdoVisibilityCheck、ブールdoCheckConsistency) SystのSystem.Runtime.Serialization.ObjectManager.DoNewlyRegisteredObjectFixups(ObjectHolderホルダー、Boolean bObjectFullyComplete)のSystem.Runtime.Serialization.ObjectManager.CompleteObject System.Runtime.Serialization.Formatters.Binary.ObjectReader.RegisterObject(Object obj、ParseRecord pr)でem.Runtime.Serialization.ObjectManager.RegisterObject(Object obj、Int64 objectID、SerializationInfo情報、Int64 idOfContainingObj、MemberInfoメンバ、Int32 [] arrayIndex) 、ParseRecord objectPr、Boolean bIsString)System.Runtime.Serialization.Formatters.Binary.ObjectReader.ParseObjectEnd(ParseRecord pr)at System.Runtime.Serialization.Formatters.Binary.ObjectReader.Parse(ParseRecord pr)at System.Runtime.Serialization。 System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize(HeaderHandlerハンドラ、__BinaryParser serParser、ブールfCheck、ブールisCrossAppDomain、IMethodCallMessage methodCallMessage)のFormatters.Binary .__ BinaryParser.Run()。 System.Runtime.SeのBinaryFormatter.Deserialize(ストリームserializationStream、HeaderHandlerハンドラ、ブールfCheck、ブール値isCrossAppDomain、IMethodCallMessage methodCallMessage) System.Resources.ResXDataNode.GenerateObjectFromDataNodeInfo(DataNodeInfo dataNodeInfo、ITypeResolutionService typeResolver)でSystem.Resources.ResXDataNode.GetValue(ITypeResolutionService typeResolver)のrialization.Formatters.Binary.BinaryFormatter.Deserialize(ストリームのシリアル化ストリーム)をSystem.Resources.ResXResourceReader.ParseDataNode(XmlTextReader reader、Boolean isMetaData)System.Resources.ResXResourceReader.ParseXml(XmlTextReaderリーダー)

ただし、同じ名前の型です。

プロジェクトは正常に構築され、正常に実行されます。

OKフォームの.resxファイルを削除しました。これで2つのエラーが表示されてしまいました。 System.Data.EntityClient.EntityConnection.ChangeConnectionString(文字列newConnectionStringで

第一は、「指定された名前の接続、EntityClientプロバイダで使用することを意図していない、または有効でない」

コールスタックであります)DJProのSystem.Data.Objects.ObjectContext..ctor(String connectionString、String defaultContainerName)のSystem.Data.Objects.ObjectContext.CreateEntityConnection(String connectionString)のSystem.Data.EntityClient.EntityConnection..ctor(String connectionString) D:\ Visual Studio Projects \ DJProAutomation \ DJPro.Settings.Model \ SettingsSelfTrackModel.Context.csの.Settings.Model.SettingsEntities..ctor():33行目DJPro.Data.Access.SettingsDataOperations.GetConfiguration()(D:\ Visual Studioプロジェクト\ DJProAutomation \ DJPro.Data.Access \ SettingsDataOperations.cs):33行目のDJPro.Studio.Controls.DeckControl..ctor() \ Visual Studio Projects \ DJProAutomation \ DJPro.Deck.Controls \ DeckControl。cs:行51

第2回は私が図書館で持っているコントロールについてです。

コールスタック "変数deckControl1が宣言されていないか、割り当てられていなかったのどちらかである":でSystem.ComponentModel.Design.Serialization.CodeDomSerializerBase.Error(IDesignerSerializationManagerマネージャー、文字列exceptionText、文字列HELPLINK)で

をSystem.ComponentModel.DesignのSystem.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeExpression(IDesignerSerializationManagerマネージャ、StringName、CodeExpression式)のSystem.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeExpression(IDesignerSerializationManagerマネージャ、文字列名、CodeExpression式)。 Serialization.CodeDomSerializ erBase.DeserializeStatement(IDesignerSerializationManagerマネージャ、CodeStatement文)

次に、resxファイルのバックアップから復元して、最初の問題に戻ってきます。

このように奇妙なエラーは、Entity Data Modelライブラリではすべて問題なく、app.configにはすべての必要な接続文字列があります。 deckControl1 UserControlについては、ライブラリにはうまく見えますが、作成してOKです。

私はこれが私を狂ってしまい、開発を中止すると思います。

答えて

0

エンティティフレームワークコンテキストを初期化するUserControlコンストラクタコードを使用すると、問題が見つかりました.... Loadイベントハンドラのデータ操作のコンテキストを初期化しようとしても問題が発生することがあります。

トリッキー!

1

ResXを生成するために使用されたアセンブリと現在参照されているアセンブリの間にバージョンの競合があるようです。

参照を削除してプロジェクト参照として再度追加し、ResXを再生成してみます。

+0

私はコード内で使用するプロパティをresxファイルから削除しました。このように動作しますが、まだ完全にはテストされていません。 –

関連する問題