Visual Studio Team Service で Xamarin.Android のビルド
Visual Studio Team Service で Xamarin.Android のビルドを試みて、最初うまく行かなかったので、その時の問題と回避策をここに記録します。自分用メモです
- [VSTS] プロジェクトを作った
- [ローカル] リポジトリ、push
- [VSTS] デフォルトの Xamarin.Android のビルド definition でビルドすると動かない(エラー)
- 2017-02-11T09:26:54.4047838Z ##[error]C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1862,3): Error : java\lang\Object.class(java\lang : Object.class)
- ローカル(私のXamarinの環境は最新のアルファチャネル)で作ったプロジェクトの Xamarin環境と、VSTSのビルドサーバの Xamarin環境のバージョンの不一致ではないかと推測。
- 取り敢えずの処置として、ローカルにエージェントを立てて、ビルドはローカルで走らせることにした
- [VSTS+ローカル] ビルドエージェントを入れた(手順書(英語))
- [VSTS] エージェント入れたのはいいけど、ビルド時どうやってエージェントを使うのか分からなかった。→[Queue new build] → [Queue]の Hosted->Default(自分がつけたagentの名前)
- それでも(私の環境だと)MSBuild.exe が無い、というエラーが出て動かない
- 2017-02-11T10:02:56.0622340Z MsBuild.exe does not exist at '/Library/Frameworks/Mono.framework/Versions/4.8.0/lib/mono/4.5/msbuild.exe'.
- 2017-02-11T10:02:56.0940450Z ##[error]Error: /Library/Frameworks/Mono.framework/Versions/Current/Commands/mono failed with return code: 1
[VSTS] NuGet restore するタスクで、NuGet の path を、明示的に指定した (/Library/Frameworks/Mono.framework/Versions/Current/Commands/nuget)
動いた!