少しはまったのでメモしておきます。
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 件のコメント:
コメントを投稿