2009-02-28 7 views
1

私は古いC#2プロジェクトで使用したいドンネット3.5 dllを持っていますが、現在はC#2プロジェクトをアップグレードしたくありません。C#2プロジェクトでDotnet 3.5 dllを使用するには?

私はC#2プロジェクトのリファレンスとしてdllを追加しましたが、すべてがうまくいきました。

問題は、私はこの方法を使用したいときに、コンパイラはそれがSystem.Core組み立てを必要として、それについては何も知らないので、System.Coreアセンブリを追加しても問題が解決します引数 としてSystem.Func<int,int,IEnumerator<string>>を取る登場しましたか?そこに良い解決策はありますか?

答えて

3

現在のプロジェクトで.NET 2.0が使用されている場合は、.NET 3.5からの参照を追加しないでください。クラスライブラリで.NET 3.5のものを使用する場合は、そのうち2つは.NET 2.0だけのマシンにインストールされています。

私は強く、3つのオプションのいずれかを検討する:

    は、.NET 3.5にあなたの.NET 2.0のアプリケーションをアップグレードし
  • (私はあなたがしたくないけど、あなたはおそらく可能であればそれはおそらく最良の選択肢です)
  • .NET 2.0をターゲットにするためにクラスライブラリをダウングレードします。あなたの.NET 2.0アプリがしかの場合
  • は、.NET 2.0アプリ

からあなたの.NET 3.5のライブラリを使用しないでください(あなたはまだ多くのC#3.0の機能ではなく、.NET 3.5のクラスを使用することができます) .NET 3.5マシンに配備しようとすると、混合とマッチングで逃げることはできますが、は公開APIのは.NET 3.5に依存していません。 Funcの場合は、自分の一致するデリゲートタイプを宣言するだけで済みますが、その場で行うことは苦労します。

+0

私はsys全体を.NET3.5マシンにデプロイしますが、現在は.NET2アプリケーションにdllとSystem.Coreを追加して問題を解決しましたが、問題なく動作していますか?私自身のFUNCを書くw.r.tは、.NET3.5 dllで私自身のドットネット代理人を置き換えることを意味しますか? –

+0

第4の選択肢として、多くの人々が.net 2.0上でMonoのSystem.Coreを使用して配布しています。 http://evain.net/blog/articles/2008/09/14/c-3-and-linq-on-net-2を参照してください。 –

関連する問題