2012年12月17日月曜日

ASP.NET MVC を Appharbor へデプロイする際の注意事項

少しはまったのでメモしておきます。

ASP.NET MVC (今回は最新の4を使用) をAppharborにデプロイする際、デフォルトでは勝手にライブラリをロードしてくれないようです。そのため、packageフォルダをデプロイ対象からはずしているとビルドエラーになります。

・packageのフォルダは基本.gitignoreではずす(重いので)
・しかし、この場合packageのロードが行われずビルドエラーになる(MSB3245 xxx but it didn't exist. が多発する)。

対応として、ビルド時にpackageをロードするようプロジェクトを設定する必要があります。

その方法は公式サイトで公開されています。

パッケージ再ロード設定


このページではプロジェクト>右クリックで「Enable NuGet Package Restore」をしてくれといっているのだが、私の場合「え?そんなメニューないんですけど」という状態でした。
そんなときはこちらをご参考。

Enable NuGet Package Restoreを表示する方法


それでも出ないという場合(私の場合・・・)は、ツール>ライブラリパッケージマネジャー>パッケージマネージャーコンソール でNugetのコンソールを起動し、以下コマンドを実行。


Install-Package NuGetPowerTools
Enable-PackageRestore

Nugetのコンソールツールをインストールして、そこから実行します。

これを実行するとNugetの実行ファイルがプロジェクト内にロードされ、ビルド時にパッケージを読み込んでくれるようになります。

あとはAppharborへデプロイすればビルド完了となると思います。

参考までに、今回使用した.gitignoreを掲載。


*/packages/*
/packages/*
obj/
bin/
TestResults/
_ReSharper.*
*.csproj.user
*.resharper.user
*.resharper
*.suo
*.cache
*~
*.swp
*.resharper.user
*.rptproj.user
*.db
*.sdf
*.tmp



0 件のコメント:

コメントを投稿