0

ASP.NET アプリを実行すると、次のエラーが発生します。X は、reference.cs (ソリューションの一部ではない別のプロジェクトの Web サービスのプロキシ) で定義された typedDataTableRow です。ASPTemp フォルダーには、Y.dll ファイルが 1 つだけあります。Visual Studio を再起動し、ソリューションを消去し、ASPTemp フォルダーを削除し、ソリューションの下にあるコンパイル済みのすべての dll を削除し、IIS を再起動しました。デバッガーでは、モジュール ウィンドウに 1 つの Y.dll インスタンスがあります。この例外が発生する理由を特定できません。例外の 2 つのパスはまったく同じです。どういうわけか、ランタイムは Y.dll のインスタンスが 2 つあると考えています。(Y は私のプロジェクト/アセンブリの名前です)。Fuslogvw.exe を使用しようとしていますが、最小限の情報しか表示されず、役に立ちません。それについて別の質問を投稿します。Windows 7 64 ビットで Visual Studio 2010 を使用しています。

私が言及している 1 つのメモは、2 つの非常によく似た型指定されたデータセットがあることです。1 つは、他のプラスの新しいデータ テーブルから作成されました。Merge メソッドを使用して、あるデータから別のデータにコピーします。2 番目の ..designer.cs ファイルでデータセット クラス名のグローバルな名前変更を行いましたが、2 つのデータセットが一意であると確信しています。最初のクラス名が 2 番目に存在しません。2 つのデータセットが原因である可能性がある場合に備えて、これについて言及しますが、方法がわかりません。

これをトラブルシューティングする方法はありますか?

Exception Type: System.InvalidCastException
Message: [A]X cannot be cast to [B]X. Type A originates from 'Y, Version=123.10.0.32434,
 Culture=neutral, PublicKeyToken=null' in the context 'Default' at location 
'c:\temp\ASPTemp\xx\bf09df88\62e1519a\assembly\dl3\bdf55bf9\f02959af_c88cce01\Y.dll'. 
Type B originates from 'Y,  Version=123.10.0.32434, Culture=neutral, PublicKeyToken=null' 
in the context 'Default' at location 'c:\temp\ASPTemp\xx\bf09df88\62e1519a\assembly\dl3\bdf55bf9\f02959af_c88cce01\Y.dll'
4

2 に答える 2

0

2 番目のデータセットと、それをテストとして参照するすべてのコードを削除したところ、問題はなくなりました。2 つのデータセットが 2 つの異なるクラスに含まれていて、コンパイル エラーがない場合のこの動作については、まだ説明がありません。

于 2013-07-30T16:20:16.197 に答える