たろいもは召喚酔いに影響されない

"システム屋"属性を持った「たろいも」のいろいろなソフトネタブログです

【備忘録】オフライン環境へVS2015+MySQLのASP.NET MVC4環境構築 第2回:追加パッケージ導入

 初めての方は、はじめまして。再びご覧いただいた方はこんにちは。たろいもです。

 Visual Studio 2015 ExpressとMySQLASP.NET MVCのWebアプリケーションを作ろうよ企画の第2回目です。前回は、アプリケーションのインストールだけで終わってしまいました。ということで、今回はちゃんとWebアプリケーションのプロジェクトを作って、しっかりMySQLと連動させるところまで・・・・・・いけたらいいなぁ。

 今回のお品書きはこちら

Nugetの接続先をローカルに変更

 開発において、様々な追加パッケージが必要となります。今回ならMySQLと接続するためには、そのための追加パッケージが必要ですし、Webアプリケーションで使うJQueryやらbootstrapやらも利用するならば、追加のパッケージを導入しなければいけません。

 そんなパッケージ追加をお手軽にやれる仕組みがNugetなのですが、この人、オフラインで使うととんでもなく遅くなります。そりゃ、存在しないダウンロード先を探しに行こうとしますからね・・・・・・。

 オフライン環境においては、追加したいパッケージをNuget Galleryから自分でダウンロードしてきて、オフライン環境のNugetが参照できる場所に置いてやる必要があります。

 そのために、Nugetのパッケージソースからオンラインの参照先を取り除き、オフラインの参照先を追加してあげなければいけません。

f:id:dicen01:20191010214144p:plain

新しいプロジェクトの作成

 「新しいプロジェクト」の作成項目の中には、そのものずばり「ASP.NET Webアプリケーション」の「MVC」というのがあります。

f:id:dicen01:20191010214148p:plain

 この設定でプロジェクトを作成すると、DBContext付のモデルにコントローラからビューまで一式揃え、bootstrapまで含めたプロジェクトを構築してくれます。

f:id:dicen01:20191010214157p:plain

 ただこれ、既にかなりのビューが準備されてまして、もし大半が要らないビューだった場合、ビューは消さなきゃいけなしし、コントローラは直さなきゃいけないし、そもそもエンティティモデル組まれてないしということで、たろいもはEmptyなWebアプリケーションで開始することにしました。

f:id:dicen01:20191010214201p:plain

 はい、見事に空っぽなプロジェクトが出来ました。

f:id:dicen01:20191010214205p:plain

エンティティモデル構築用追加パッケージ導入

 せっかくMVC作るのですから、MySQLマイグレーション先にしたエンティティモデルを構築しましょう。

 MySQLに対してエンティティモデルを構築するためには、「MySql.Data.Entity」というパッケージが必要です。

f:id:dicen01:20191010214209p:plain

 この「MySql.Data.Entity」ですが、依存関係として以下3つのパッケージを要求してきます。

(※ 上記は、MySql.Data.Entity 6.10.8 の場合です)

 プロジェクト作成の段階で「.Net Framework 4.6.2」を使用していますから、1つ目は良いとして、残り2つは導入してやらねばいけません。

f:id:dicen01:20191010214214p:plain

 「EntityFramework」には依存関係がありませんからこのまま導入できます。「MySql.Data」ですが、なかなか派手な依存関係が記載されています。

f:id:dicen01:20191010214218p:plain

 が、この辺は普通に「.Net Framework4.6.2」があれば問題なく導入可能です。ということで、Nuget Galleryでこの3つのパッケージをダウンロードし、Nugetのローカル参照先に指定したフォルダへと格納しましょう。

 これで、ソリューションエクスプローラから「Nugetパッケージマネージャー」を開くと、

f:id:dicen01:20191010214222p:plain

 ダウンロードした3つのパッケージが導入できる状態になります。

f:id:dicen01:20191010214230p:plain

 あとは、

  1. EntityFramework
  2. MySql.Data
  3. MySql.Data.Entity

 の順でインストールしましょう。(1と2は逆でもOK)

f:id:dicen01:20191010214227p:plain

 これで、エンティティモデル構築のために必要なパッケージは導入完了です。

おしまい

 なんでしょう、この話の進まないジリジリ感。今回で一発目のマイグレーションくらいまで行こうかと思ったのですが・・・・・・。

 ということで次回予告、「はじめてのマイグレーション!」にご期待ください!