チーム開発のための .NET 開発環境の整備(ソリューションの準備)

.NETでのチーム開発のための環境整備を社内で作成しているところですが、備忘もかねて作業記録や気が付いた点など書いていきます。

今回の環境

  • VisualStudio2012
  • Git+Gitlab
  • Jenkins
1. NuGetパッケージの復元の設定

順番が前後してしまいますが、今回はVisualStudioのソリューションでの準備です。

NuGetパッケージマネージャーはインストール済、最新版に更新済みとして話を進めます。

まずは通常通りソリューション作成します。(今回は ASP.NET MVC4のソリューションです) 今後おそらく便利なNuGetパッケージを追加していくのですが、NuGetパッケージはできればソース管理の対象から外したいです。しかし共有リポジトリから取得したソリューションを他人(CIサーバ含む)がビルドする時にこのままだと参照ライブラリがないといって怒られてしまいます。

そこで必ずやっておかなければならないのが次の設定です。

f:id:kuroyanagi_h:20130724152834p:plain

対象となるソリューションを設定して、右クリックしたメニューにある「NuGetパッケージの復元の有効化」を選択します。

f:id:kuroyanagi_h:20130724153548p:plain

するとソリューションフォルダのトップに .nuget というフォルダが作成されその下に NuGet.exe NuGet.Config NuGet.targets というファイルが 作成されます。これを元に MSBuildの際には NuGetによりパッケージの取得が行われます。

試しにソリューション作成時に作成された packages フォルダを削除してビルドすると、新たにpackagesフォルダが作成されて、次のようにInstallされてビルドが行われました。

f:id:kuroyanagi_h:20130724155146p:plain

2. Gitで管理から除外するファイルの設定

拡張機能の「Visual Studio Tools for Git」でソリューションをGitで管理するようにすると良い具合に.gitignoreと.gitattributesを作成してくれますがProfessional以上でないとインストールできないので、ファイルをGistに上げておきます。 .gitignoreには上で設定したものようにpackagesフォルダをgitに含めないようにしてあります。