8

私は独自のサーバーを持っており、ソリューションの 1 つを ASP.NET MVC 4 にアップグレードしてから、残り (3+) をアップグレードすることを検討しています。

この一環として、ASP.NET MVC 4のスタンドアロン インストーラーをダウンロードし、Server 2008 R2 ボックスで実行しました。これは、Web Platform Installer 4.0 に、Express および多数の他のアプリケーションをインストールするためのツールの更新があるためです。

そのインストーラーは、C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 4\AssembliesSystem.Web.Mvc.dll でディレクトリを作成しました。

MVC 3 から MVC 4 への手動アップグレード ノートを調べたところ、項目 3 に出くわしました。

ソリューション エクスプローラーで、[参照] を右クリックし、[NuGet パッケージの管理] を選択します。左側のペインで [Updates\All] を選択し、次を更新します。

  • ASP.NET MVC 4
  • (オプション) jQuery、jQuery Validation、jQuery UI
  • (省略可能) エンティティ フレームワーク
  • (オプション) Modernizr

ASP.NET MVC 4 は、現在 Microsoft ASP.NET MVC 4 ( Microsoft.AspNet.Mvc ) に含まれているこの NuGet パッケージを参照しており、共有ホスティングおよびクラウド プラットフォームにインストールするためのようです。

または、何か不足していますか?自分のサーバーでもこのパッケージをインストールする理由はありますか? 必要に応じて .NET Framework をインストール/更新できますか?

編集: ヘッダーを確認すると (まだオフにしていません)、サイトの MVC のバージョンが 4.0 であり、NuGet パッケージが含まれていないことがわかります。コアパッケージにプッシュされていないのは修正/機能ですか? 主に共有ホスティング環境向けですか? MVC 4が既にインストールされている場合、それを保持すると、パフォーマンスがいくらか低下しますか(不必要に増加したメモリ使用量はそれによってカバーされると考えています)?

4

1 に答える 1

10

私の知る限り、それらはまったく同じです。NuGetパッケージはと呼ばれますがMicrosoft.AspNet.Mvc、作成されるdllファイルの名前はSystem.Web.Mvc.dllです。System.Web.MVCGACのファイルと同じサイズ、アセンブリ署名などがあります。

したがって、今のところ、両方のアセンブリを参照している場合でも、.NETはそれらがまったく同じであることを認識し、一方のみをロードする必要があります。コアの.NET4.5ファイルに基づかない新しいバージョンがリリースされたときに、MicrosoftがNuGetパッケージをプッシュしてアップグレードを容易にする可能性があります。または、ご想像のとおり、NuGetパッケージを使用すると、MVCのインストールが許可されていないシステムでMVCアプリケーションを実行できます。

于 2012-11-07T19:25:49.387 に答える