共有プロジェクトの名前はハイフンを含んではいけない。

こんにちは、world_wide_anitoです。

ある日、Xamarin.Forms(共有プロジェクト)でプロジェクトを作成したところ、
何やらいつもと違う違和感を感じます。
f:id:world_wide_anito:20180518093100p:plain:w320
プラットフォーム毎のプロジェクトが作成されてないではありませんか!?
そもそも共有プロジェクト自体、ツリーが開かないし変な感じです。

フォルダー ビューで確認してみると、プロジェクト自体は作成されている様子。
f:id:world_wide_anito:20180518122103p:plain:w320

ならば、改めてプロジェクトを追加しようとするとこんなエラーがでるのです。
f:id:world_wide_anito:20180518120929p:plain:w320

この現象、共有プロジェクトでプロジェクト名にハイフンを含む場合に発生するようです。
本来プロジェクト名にハイフンを含む場合、名前空間や一部の設定ファイルの類では、
アンダーバーに変換されるのですが、そのあたりの連携が上手く行っていないように見えます。

今回の例では、Punch_in.projitemsが見つからない旨のエラーが出力されていますが、
実際に作成されていたファイルは、Punch-in.projitemsだったのでそのあたりが、原因なのだろうと思います。

今までずっと、共有プロジェクトだけを使ってきた自分としては複雑な気持ちではありますが、
プロジェクト名にハイフンを使わなければ良いだけの話なので、回避は簡単そうです。

開発環境
  • Visual Studio 2017 v15.7.1
  • Xamarin.Forms v3.0.0.446417