ROMANCE DAWN for the new world

Microsoft Azure を中心とした技術情報を書いています。

ASP.NET vNext で別ソリューションのクラスライブラリを参照する

※ Visual Studio 14 CTP 4 時点での情報です。

ASP.NET vNext では、Web アプリケーションと同一のソリューションに追加したクラスライブラリであれば、project.json にインテリセンスを使って依存関係を追加することができます。別ソリューションのクラスライブラリを参照する場合に、便利な機能が Visual Studio に追加されていました。

クラスライブラリ

Visual Studio のプロジェクトテンプレートから、「ASP.NET vNext Class Library」を選択して新規作成します。プロジェクトのプロパティを見ると、「Produce outputs during build」という項目があります。

nuget

この設定を「yes」に変更することで、プロジェクトをビルドすると、bin の debug フォルダに NuGet パッケージが作成されます。

nuget02

NuGet パッケージを取得するパスを追加

Visual Studio の Option メニューから、NuGet パッケージを取得するパスを設定します。

nuget03

先ほど作成した NuGet パッケージを MyPackage フォルダにコピーします。

Web アプリケーション

Visual Studio のプロジェクトテンプレートから、「ASP.NET vNext Web Application」を選択して新規作成します。NuGet パッケージの管理画面で、別ソリューションのクラスライブラリをインストールすることができます。

nuget04

作成された NuGet パッケージの nuspec ファイルを見ると、id、title、authors などにプロジェクト名の「ClassLibrary1」が設定されていました。

nuget05

この nuspec ファイルを変更して、ClassLibrary1 プロジェクトの直下に配置してビルドしましたが、残念ながら変更した結果は反映されませんでした。

まとめ

ASP.NET vNext では、NuGet をギャラリーで公開されているライブラリの管理だけでなく、社内の開発環境での利用を推奨するような改善が行われており、Visual Studio を利用した開発に欠かせないツールとなっています。クラスライブラリのバージョンや依存関係の面倒な管理を NuGet に任せることで、開発業務の生産性を大きく向上できそうです。