Visual Studio 2017で作成したXamarin.FormsプロジェクトをVisual Studio 2015でビルドする
さて、現時点のVisual Studio 2017(ver. 15.6.5)でXamarin.Formsプロジェクトを新規作成すると結構新しくてイケイケなプロジェクトをはいてくれます。
- packages.configファイルが無い
- 共通コードが.NET Standard 2.0(またはShared project)
これをVisual Studio 2015で開くと...
プロジェクトファイルが読み込めず、ビルドできません。
理由は...
- .NET Standard、ましてや2.0なんて対応してない。
- packages.configに代わり、
PackageReference
というフォーマットが使われている。VS 2015(というかMSBuild 14では読めない)
逆マイグレーション
VS 2015でビルドできるようにするために
- .NET StandardプロジェクトをPCLプロジェクトで作りなおす。
- iOSやAndroidのcsprojファイルから
PackageReference
要素を削る。(参照していたパッケージをメモしておく) - packagesフォルダの中身を削除する(だいたいslnファイルと同じ階層にあるやつ)
- 空のpackages.configファイルを追加する(必要ないかも)
PackageReference
で参照していたパッケージをNuGetパッケージマネージャで追加しなおす。- アセンブリの参照方法が変わって通らなくなったコードが出た場合は修正する。
まとめ
特別な理由がない限りVS 2015を投げ捨てましょう。そろそろ限界です。