2012-08-16 13 views
37

タイトルが言うように、なぜASP.NET MVC 4プロジェクトは多くのNuGetパッケージをsooooしていますか?フレームワーク全体がパッケージに分割されていますか?ウェブサイト、APIなどの空のプロジェクトにとって本当に重要なのはどれですか?明確にするためになぜASP.NET MVC 4には非常に多くのNuGetパッケージがあり、本当に重要なのですか?

UPDATE

あなたは一人としての基本的な混乱をカウントしていない限り、私は、よく、問題を持っていませんよ。なぜ新しいMVC 4プロジェクトにデフォルトでインストールされるパッケージが非常に多いのかを知りたいだけです。空のプロジェクトには、1ページ分のパッケージがあります。インターネットプロジェクトには3ページのパッケージがあります。

なぜ私は現在のMVC 3プロジェクトで最大5つのパッケージを使用しているのか不思議です。

+0

NuGetパッケージに問題が多いのはなぜですか?どのような問題を解決しようとしていますか? – neontapir

+3

問題があるとは言いませんでした。私は単にMVC 4をインストールして新しいプロジェクトを作成し、何が違うのか見て回りました。空のプロジェクトには1ページのパッケージがあり、インターネットプロジェクトには3ページのパッケージがあります。私はMVC 3のプロジェクトが最高で約5つのパッケージを使用しているため、その理由を知りたいだけです。ただ好奇心が強い。 – Gup3rSuR4c

+0

あなたが受け取った回答の種類に色が付いてくるかもしれないので、私は質問しました。 – neontapir

答えて

26

タイトルによれば、なぜASP.NET MVC 4プロジェクトは多くのNuGetパッケージを持っていますか?

これは、フレームワークのデザイナーに質問する必要があります。

ウェブサイト、APIなどの空のプロジェクトにとって本当に重要なものはどれですか?

<packages> 
    <package id="Microsoft.AspNet.Mvc" version="4.0.20710.0" targetFramework="net40" /> 
    <package id="Microsoft.AspNet.Razor" version="2.0.20710.0" targetFramework="net40" /> 
    <package id="Microsoft.AspNet.WebPages" version="2.0.20710.0" targetFramework="net40" /> 
    <package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net40" /> 
</packages> 

またはあなただけ1/2ページのを好む場合:

は、ここでは、ルーティングを設定し、カミソリのビューをレンダリングするアクションを持つコントローラを定義することができます厳格な最小だ

enter image description here

+0

私は十分に公平です。情報をありがとう。 – Gup3rSuR4c

+0

ASP.NET Webページ2のWebデータ、データ、および管理についてはどうですか? ASP.NET Web PAges 2(Core)にはMVCとWebFormsの共有機能が含まれていますが、その3つはどうですか?彼らは必要ですかより良いですか、それは正確に何を含んでいますか? – mare

+0

ああ、申し訳ありませんが、私は今ASP.NET Webヘルパーがそれらを持ってきたことを知っています、彼らはデフォルトの基本テンプレートにはありません。 – mare

22

ASP.NET MVC 3ツールアップデート以来、ASP.NET MVCはNuGetパッケージ経由でますます提供されています。 、ASP.NET MVC、.NETのいずれかの新しい「ビッグ」のリリースを待たずにMVC自体や他の関連するコンポーネント(カミソリ、ウェブAPI) - NuGet経由で配信コンポーネントへの

  • アップグレード:これはいくつかの利点を提供していますまたはVisual Studio。
  • これはまた、MVC以外で使用する個々のパーツを使用できることを意味します。たとえば、Web APIをASP.NETの外で使用することができます。
  • コンポーネントは、UIレイヤーとASP.NETの他の部分で共有されています。いくつかの例:ルーティングはWebフォームとWebページで共有され、RazorはWebページと共有され、新しいOAuthパートはWebフォームと共有されます。

あなたは基本的なテンプレートからプロジェクトに、あなたは以下のパッケージを買ってあげることがわかります:

  • Microsoft.AspNet.Mvc
  • Microsoft.AspNet.Razor
  • マイクロソフト.AspNet.WebApi
  • Microsoft.AspNet.WebApi.Client
  • Microsoft.AspNet.WebApi.Core
  • Microsoft.AspNet.WebApi.WebHost
  • Microsoft.AspNet。ウェブページ
  • Microsoft.Net.Http
  • Microsoft.Web.Infrastructure
  • Newtonsoft.Json
  • 9の

ファイブは非常に開発者の多くを許可するようにコンポーネント化されたWeb APIを、のために使用されていますどこでどのように使用できるかについての柔軟性。 NuGetパッケージを最小限に抑えるには、基本テンプレートを使用します。

基本テンプレートとインターネットテンプレートに進むと、プロジェクトが提供する追加機能をサポートするパッケージが増えます。インターネットでは、OAuthやJavaScriptライブラリなど、オープンソースで非マイクロコードのパッケージがいくつか用意されています。

JavaScriptパッケージがたくさんあります.NuGetが自動的にJavaScriptの依存関係を処理していることを意味するので、本当に良いことです.jQueryUIをアップグレードする場合は、新しいバージョンが必要ですjQueryを自動的にアップグレードします。

+0

Web Platform Installerを使用してASP.NET MVC4フレームワークをインストールする必要はありませんか? – Nigiri

+1

Visual Studio 2012にはMVC 4が含まれています。2010年を使用している場合は、ほとんどの場合Web PIを使用することをおすすめします。空のWebアプリケーションとNuGetパッケージを使用してMVC 4サイトを作成することもできますが、web.configを使って作成する必要があります。スニペットなどのVSを完全にサポートすることはできません。 –

+3

すべてのJavascript Nugetパッケージが「空の」MVCプロジェクトに詰まってしまったことが良いことです。私は、最新のパッチレベルのjqueryをNuget上にリリースするまで待つことを望んでいません。これは1年遅れる可能性があります。私はそれを自分で更新します - それは1つのファイルです、そして、Nugetはちょうど途中に入っています。 –

関連する問題