26

VS2010 では、.NET Framework 4.0 をターゲットとするプロジェクトがあり、ターゲット v. 3.5 に戻す必要がありました。これが発生すると、私が持っていた SplitContainer オブジェクトは表示されず、実際にエラーがスローされます。

さて、掘り下げてみたところ、実際には 3.5 には SplitContainer に ISupportInitialize がなく、.NET 4.0 にはあることがわかりました。私の質問は、3.5 をターゲットにしていてもこの問題が発生する場合、どうすれば修正できるのでしょうか?

問題を再現する手順:

  1. Visual Studio 2010 で新しい C# Windows フォーム アプリケーション プロジェクトを作成します (必ず .NET Framework 4.0 をターゲットにしてください)。
  2. 基本フォームに分割コンテナーを追加します。
  3. アプリケーションを実行します (正常に動作します)
  4. ターゲットを .NET Framework 3.5 に変更します (プロパティ -> アプリケーション -> ターゲット フレームワーク:)
  5. アプリケーションを再実行します (Cast 例外でクラッシュします)。

これについて何か助けていただければ幸いです。

4

3 に答える 3

33

私はこの問題の解決策を見つけましたが、それは非常に特別なものでした... フォームを 3.5 に戻す場合、コンパイラがすべてのコードを再生成するように、プログラム内のすべてのフォームに小さな変更を加える必要があります。そのフォームのために。問題が発生した理由は、変更を加えておらず、再生成されていないコードを実行しようとしたためです。

于 2011-05-17T15:19:39.707 に答える