2

Microsoft.NET Frameworkのディレクトリを列挙すると、.NETv3.0のディレクトリはありません。

PS> Resolve-Path c:\windows\Microsoft.NET\Framework\*\msbuild.exe

Path
----
C:\windows\Microsoft.NET\Framework\v2.0.50727\MSBuild.exe
C:\windows\Microsoft.NET\Framework\v3.5\MSBuild.exe
C:\windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe

ツールは.NETv2.0インストールの一部であり、.NET v3.0は単純なアドオンでしたか?または、.NET v3.5が古いツールに取って代わりましたか?

4

4 に答える 4

1

.net 3 と 3.5 は両方とも .net 2.0 clr の下で実行され、基本的に機能パックでした。.net 4 は新しい clr で実行されます。これは、異なるバージョンの msbuild などを意味すると思います。

于 2012-10-23T04:32:45.817 に答える
1

このMSDNサイトを引用:

このバージョン (3.0) は、基本的に .NET Framework 2.0 に Windows Presentation Foundation (WPF)、Windows Communications Foundation (WCF)、Windows Workflow Foundation (WF)、および CardSpace が追加されたものです。SP1 と SP2 で更新されました。

新しい機能が追加されておらず、CLR の新しいバージョンも作成されていないため、同じ VS2005 バージョンで .net 3.0 プロジェクトをビルドできたとしても、同じ MSBuild for .Net v2.0 が .Net v3.0 で動作すると推測しています。

一方、v3.5 では、新しいバージョンの VS (2008) がリリースされ、機能が追加されました (LINQ):

AJAX 対応の Web サイトや LINQ などの新機能が追加されました。SP1 更新プログラムでは、動的データが追加され、いくつかの追加の拡張機能が追加されました。

于 2012-10-23T04:52:58.350 に答える
0

その背後にある理由は、.NET 3.0 が登場したときに MSBuild.exe を更新する必要がなかったからです。その場合、.NET 2 MSBuild を再利用するのが賢明です。

MSBuild.exe 3.5 では、多くの重要な更新が導入されています。

http://blogs.msdn.com/b/msbuild/archive/2007/11/22/msbuild-3-5-orcas-has-now-shipped.aspx

、主な機能は次のとおりです。

-- マルチプロセッサのサポート -- 現在はコマンド ラインのみ。/m スイッチを使用してソリューションをビルドするだけです。マルチプロセス ビルド用に最適化された新しい改良されたコンソール ロガーが含まれています

-- マルチターゲット サポート -- 必要に応じて、MSBuild 3.5 を使用して .NET 2.0 をターゲットとするプロジェクトをビルドします。ツリーまたはソリューション内でターゲットを混合する

-- パフォーマンスの改善。フル ビルドで改善が見られるはずですが、特にインクリメンタル ビルドで改善が見られます。一部の大規模なインクリメンタル ビルド シナリオでは、速度が 2 倍になっています。Vista では、SuperFetch により、さらに大きな改善が見られます。これは、マルチプロセスを有効にすることさえしなくてもすべてです!

さらにいくつかのマイナーな機能

-- ItemDefinitionGroups -- アイテムの「タイプ」。

-- 外部と同様に、ターゲット内の PropertyGroup/ItemGroup -- 判読不能な CreateItem/CreateProperty はもうありません

-- リストからアイテムを削除し、ビルド中にアイテムのメタデータを変更する機能 -- もう別のリストに「スロッシング」する必要はありません

したがって、.NET 3.5 には新しい MSBuild が同梱されています。これは、MSBuild がさらに更新された .NET 4 および .NET 4.5 にも適用されます。

http://msdn.microsoft.com/en-us/library/ee240939(v=vs.100).aspx

http://msdn.microsoft.com/en-us/library/hh162058.aspx

于 2012-10-26T07:28:41.080 に答える
0

基本的に、.net フレームワークのバージョンと CLR のバージョンは異なります。.net のバージョンは、CRL バージョンのフードの下で実行されます。新しい Web サイトを作成したり、アプリケーション プールの .net フレームワークのバージョンを変更したりしているときに違いを確認できます。リストに表示されているバージョンが、インストール済みと思われるものよりも少ないことがわかります。1.0以下、2.0以下、4.0以下のようです。

ここに画像の説明を入力

.net Framework 1.x では CRL バージョンは 1、2.0 および 3.X の .Net Framework では CLR バージョンは 2.0、.net Framework 4.x では CLR バージョンは 4.0 です。

here でよりよく説明されています

于 2012-10-23T05:49:37.883 に答える