こんにちは。エクセルソフトの田淵です。
Xamarin.Forms、macでビルドしたらAndroid/Resource.Designer.csが英語で生成された。Windowsだと日本語。うーん、ソース管理に含めないのが正解だった?自動生成だし
— ともぴぃ (@tomopy03) 2017年11月14日
こんなツイートを見かけたので、そういえば都度変更されるなぁと思い、GitIgnore の設定を調べなおしてみました。
いつも変更されるアレ
個人的ないつもの流れ
今更ですが、GitHub や Git で構成管理をする際にエディタの設定ファイルや OS 固有ファイル、ビルドの生成物などは不要なので無視する設定をします。それが .gitignore ファイルです。
Github の Web から新しくレポジトリを作成する時にも設定できますね。とりあえずファイルを作ってほしいので下の方の「Add .gitignore」で「Visual Studio」を指定してレポジトリを作成します。
作成された直後にファイルを開き、直接編集しちゃいます。鉛筆アイコンの「Edit this file」です。
で、肝心の内容ですが、僕は gitignore.io を活用しています。言語や IDE を列挙して「Create」をクリックすると、GitIgnore ファイルを生成してくれるサービスです。
入力欄に文字を入力すると Intellisense 的にサジェスチョンしてくれますが、以下の言語や IDE、OS などに対応しています。
Xamarin 開発で関わりそうな「macos, xcode, swift, windows, android, jetbrains, visualstudio, xamarinstudio, androidstudio, visualstudiocode」を指定して作成してみました。
発行される URL には上記で列挙した設定が含まれています。こんな感じ
で、肝心の個別設定ですが、Xamarin.Android プロジェクトで自動的に作成される Resource.Designer.cs
は含まれていませんでした。
私はcsproj定義だけ残して、ファイル本体はGit管理外にします。リソースの追加、削除のたびに書き換わるし、本家Java AndroidでもRは普通管理対象外。 https://t.co/s9y3KeWIXL
— noxi515 (@noxi515) 2017年11月15日
とのことで、Java Android 開発でもリソース管理ファイルは対象外にしているとのことなので、手動で追加します。また、API キーや秘密の情報を入れておくファイル(僕の場合は ApiKeys.cs
や Secrets.cs
)なども追加しておきましょう。
### Original ### ApiKey.cs ApiKeys.cs Secret.cs Secrets.cs Resource.Designer.cs
を追加しました。
後は、レポジトリを作成した後で .gitignore
をこの内容に書き換えましょう。
テスト用のレポジトリはこちらです。
実際に自動生成されるか?
この設定で Visual Studio 2017 で Xamarin.Android プロジェクトを作成し GitHub に同期、その後 Mac にクローンして Visual Studio for Mac で開いてみました。
Resource.Designer.cs
は当然同期されないので .csproj
にはプロジェクトのファイルとして指定されているのに存在しないファイルということで赤く表示されています。
Layout を変更してファイルを保存すると、無事自動的に Resource.Designer.cs
が作成されました。
問題なさそうですね。既に同期してしまっているプロジェクトは普通に .gitignore
を書き換えるだけで良さそうです。
しばらくはこの設定で行きたいと思いますが「自分はこういう設定にしてるよ!」って方がいれば是非コメントなど頂ければ幸いです。
Xamarin 気になった方は
Visual Studio 2017 をインストールして触ってみてください。手順書は こちらのエントリー をご覧ください。 学習用リソース や JXUG リンクページ に参考資料を纏めてますので併せてどうぞ。
Xamarin の導入支援サービスを始めました。ベースは基本的なアプリを一緒に作ることで Xamarin を使えるようになって頂く内容ですが、ご要望に応じて講習内容のカスタマイズも可能です。詳しくは田淵までお問い合わせください(^^)
Xamarin 有償トレーニング : XLsoft エクセルソフト
Xamarin の情報が欲しい方はこのブログも購読いただいたり、私のTwitterアカウントをフォローいただいたりすると嬉しいです。
私が所属している エクセルソフト の宣伝を少しさせてください。弊社は開発者向けの様々なソフトウェアを扱っています。おなじみの ReSharper (JetBrains)、 や Atlassian の JIRA, Confluence、Office/PDF ファイルを .NET/Java で操作するライブラリ Aspose(アスポーズ)、Windows アプリ、Web ページ、iOS/Android アプリの UI テストができる TestComplete などお勧めです(^^) また、Visual Studio Professional/Enterprise with MSDN も販売してますし、日本で売っていない海外のソフトウェア、開発ツールなどを弊社経由で日本円で購入頂くことも可能です。ご興味あれば 弊社ページ を覗いてみてください。
以上です。