43

私が働いているコードベースは .NET 2.0 です。私たちの新しいアセンブリ/DLL/Web アプリケーションでは、3.5 が提供するものを活用したいと思っています。

1 つのソリューションで (アセンブリごとに) .NET フレームワークを混在させることはできますか? これに関する IIS 関連の警告はありますか?

肯定的/否定的/ハウツーのフィードバックをお待ちしております。お知らせ下さい!

ありがとう!

4

7 に答える 7

18

はい、Visual Studio でこれを行うことができます。これはMulti-Targetingと呼ばれます。

Scott Guthrie は、 Visual Studio での Multi-Targeting Supportに関する優れたブログ エントリを公開しています。

VS 2008 は、.NET のマルチターゲット サポートを含む Visual Studio の最初のリリースでした。つまり、VS 2008 を使用して、.NET 3.5 プロジェクトだけでなく、.NET 3.0 および .NET 2.0 プロジェクトも作成および編集できるということです。これにより、開発者は新しい Visual Studio ツール機能をより迅速にアップグレードして利用できるようになりました。アプリケーションを実行しているクライアントと運用サーバーに新しいバージョンの .NET を必ずしもインストールする必要はありません。

乾杯

于 2010-03-12T13:57:43.840 に答える
6

http://msdn.microsoft.com/en-us/library/bb383796(v=vs.90).aspxに従って、2.0、3.0、および 3.5 を一緒に使用できます 。

于 2012-05-21T15:30:51.210 に答える
4

編集:私は間違っていました。 CLR が同じであるため、2.0 で 3.+ アセンブリを参照できます。これは、CLR の新しいバージョンがあるため、2.0/3.+ から 4.0 に移行する場合には当てはまりません。

http://abdullin.com/how-to-use-net-35-syntax-and-compiler-features-for-net-20/

于 2010-03-12T13:51:10.673 に答える
3

新しい .NET 4.0 フレームワークを待つことができれば、同じプロセスで各バージョンの dll を並べて実行できるようになります。

于 2010-03-12T13:58:54.773 に答える
2

これは問題ではありません。.NET 2.0 RTM から .NET 3.5 SP2 まではすべて、まったく同じバージョンの CLR を使用します。含まれるアセンブリの数だけが異なります。組み立て方は同じです。もちろん、.NET 3.5 にのみ含まれているアセンブリを利用する場合は、3.5 がターゲット コンピューターに実際にインストールされていることを確認する必要があります。そうでないかはすぐにわかります。

Windows Update が有効になっている場合、3.5 は既にマシン上にあるはずです。そうでない場合は、そこに到達するまでに数十分かかります。

于 2010-03-12T14:02:50.367 に答える
2

.Net 1.1 アセンブリを .Net 2.0+ アセンブリと同じプロセスで実行することはできません。実行しようとすると失敗します。

IIS に関しては、.Net 1.1 サイト / 仮想ディレクトリを .Net 2.0 以降のサイトと同じアプリケーション プールで実行することはできません。別のアプリケーション プールを作成して、.Net 1.1 コードを実行し続ける必要があります。別のプロセス。(これは IIS 6.0 以降でのみ実行できます。つまり、Windows XP では実行できません)

ただし、nobugz が言うように、.Net 2.0 から .Net 3.5 まではすべて同じ CLR を使用するため、異なるバージョンの .Net コードを同じアセンブリに混在させることができます。これは IIS (.Net 2.0 および .Net 3.5 のコードは、同じアプリ プール内で問題なく共存できます)。

于 2010-03-12T15:47:54.647 に答える
2

補足として、2.0 で使用し、再コンパイルせずに 3.5 でも使用している古い 1.0 ライブラリがいくつかあります。そのため、下位互換性があります。

于 2010-03-12T15:02:05.827 に答える