特集:.NET開発の新標準「NuGet」入門(前編)

.NETで開発モジュール導入が楽々に! NuGet入門

芝村 達郎
2011/09/15
Page1 Page2 Page3 Page4

WebMatrixで利用する

 Visual Studio以外でもNuGetが利用可能な環境としてはWebMatrixがある。WebMatrixは、ASP.NET MVCよりも密接な関係で、NuGet自体がWebMatrixに内蔵される形を取っている。

 そのため、WebMatrixをインストールするだけでNuGetが利用可能になっており、WebMatrix自体がもともとは「初心者向けでも簡単にASP.NETを使ったWebページを作れる開発環境」という位置付けとなっている。従って、NuGetと数多く公開されているヘルパーを組み合わせることで、ASP.NET MVC 3を利用した場合よりも素早く、さらに手軽に開発が行えるだろう。

 なお、WebMatrix自体はASP.NET MVC 3と同様にWeb PIを利用すると簡単にインストールできるので、ASP.NET MVC 3と同時にインストールしておいてもよいだろう。

管理画面から利用

 最初に注意してもらいたいのは、WebMatrixではNuGetという名称が基本的に使われていないことだ。初見では、どこからパッケージを探せばいいか分かりにくいと思うが、メイン画面の[ASP.NET Web ページの管理]というリンクボタンの説明に「オンライン パッケージをダウンロードします」と書かれている(次の画面を参照)。

WebMatrix起動時のメイン画面

 WebMatrixは、Visual Studioの機能拡張のようにコンソールやダイアログ・ベースのインターフェイスを持っていないので、すべての操作は基本的にブラウザ経由で行う必要がある。管理画面を開くと、さっそくパッケージ・マネージャが表示される(次の画面を参照)。

NuGet galleryに登録されているパッケージが表示されている

 この画面がVisual Studioでの[Manage NuGet Package]に相当する機能になっており、検索やインストールなど一通りの処理をブラウザで行える。このあたりの手軽さはVisual Studioで使うときと変わらないだろう。

WebMatrix対応のパッケージを探す

 NuGetには数多くのパッケージが登録されているが、中にはWebMatrixで利用できないものが存在するし、逆にWebMatrixでの利用を前提に開発されたパッケージも存在している。このままでは開発者にとって混乱の元となるため、マイクロソフトが公開しているパッケージでWebMatrixでも利用可能なものは「ASPNETWEBPAGES」というタグが付けられている。このタグで絞り込むことで、簡単にWebMatrixで利用可能なパッケージが検索できるというわけだ。

 それでは実際にパッケージを探してみることにしよう。前述したとおりWebMatrixでNuGetに公開されているパッケージを検索するには、[ASP.NET Web ページの管理]リンクから行う。先ほどと同様に管理画面を開くので、検索フォームに注目していただきたい。

パッケージ・マネージャの検索フォームには[表示]選択欄のほかに[ソース]選択欄もある

 キーワード入力以外に[表示]と[ソース]という2つの絞り込み項目が存在している。[表示]選択欄には「インストール済み」「オンライン」「更新プログラム」の3つの項目があり、それぞれの意味は言葉のとおりだ。そして[ソース]選択欄にはデフォルトで「既定」と「既定(すべて)」の項目が存在している。実は「既定」が選択されている初期表示では、先ほど説明した「ASPNETWEBPAGES」というタグが付けられているパッケージのみが表示されるようになっている。

 それでは実際にパッケージをインストールしてみることにしよう。今回はTwitterのヘルパーを利用してツイート検索ボックスの表示を行いたいので、キーワード検索から“Twitter.Helper”を検索して、[インストール]ボタンをクリックする。すると以下のような確認画面が表示されるので、さらに[インストール]ボタンをクリックすると、ヘルパーのインストールが完了し、使用する準備が整う。

WebMatrixでNuGetパッケージをインストール

 インストールが完了したので、さっそくヘルパーを使って、動作を確認しよう。使い方は非常に簡単で、次の1行を.cshtml/.vbhtmlファイルの任意の場所に追記するだけだ。

@TwitterGoodies.Search("NuGet");
キーワード「NuGet」でツイートを検索して表示(.cshtml/※.vbhtmlファイルの場合には「;」が不要)

 それだけで、次の画面のようにTwitter検索のウィジェットが表示される。

ヘルパーを利用してTwitter検索ウィジェットを表示

 WebMatrixでも簡単にNuGetを使えることが分かっていただけただろうか? ちなみに、初期表示のままで使用していた場合には、必ずWebMatrixで使用可能なパッケージしか表示されていないので安心して使えるようになっている。しかし、場合によってはタグが付けられていないパッケージを利用したい場面もあると思う。それではNuGetに登録されているすべてのパッケージから探していこう。

すべてのパッケージから探す

 NuGet galleryにはWebMatrixで使えることが公式でうたわれていないパッケージも多数存在している。代表的なところでは、jQueryやjQuery UIは「ASPNETWEBPAGE」タグが付けられておらず、デフォルトの設定ではパッケージ・マネージャに表示されることはない。しかし、jQueryやjQuery UIはJavaScriptで書かれているので、サーバサイドの開発手法に関係なく動作はするはずである。

 このように専用のタグが付いていないパッケージを探すための手段もパッケージ・マネージャには用意されており、それが前述した検索フォームの[ソース]選択欄の項目になる。この項目で「既定(すべて)」を選択すると、タグが付いていないパッケージもパッケージ・マネージャに表示されるようになる。

 以下の画面は、[ソース]選択欄で「既定」もしくは「既定(すべて)」を選択した場合の例である。

[ソース]選択欄に「既定」を指定し、「jQuery.UI」というキーワードで検索するとヒットしない

[ソース]選択欄に「既定(すべて)」を選択し、「jQuery.UI」というキーワードで検索するとヒットする

 一覧に表示された後は[インストール]ボタンをクリックしていくだけで、いままでと手順は変わらない。今回はjQueryだからそのままインストールしても使用できたが、一覧にはEntity Framework 4.1などWebMatrixでの使用が考えられていないパッケージが多数存在していることを覚えておいてほしい。「表示されている=すべてが簡単に使える」というわけでは決してない。

 最後に次のページでは、特に人気のあるNuGetパッケージを紹介する。


 INDEX
  特集:.NET開発の新標準「NuGet」入門(前編)
  .NETで開発モジュール導入が楽々に! NuGet入門
    1.NuGetの概要/利用場面/インストール
    2.ASP.NET MVCで利用する
  3.WebMatrixで利用する
    4.公開されている代表的なパッケージ
 
  特集:.NET開発の新標準「NuGet」入門(後編)
  NuGetをさらに便利に使う方法とパッケージの公開
    1.さらにNuGetを便利に使う
    2.NuGetパッケージの作成
    3.NuGet galleryで公開


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)
- PR -

注目のテーマ

業務アプリInsider 記事ランキング

本日 月間
ソリューションFLASH