[Xamarin] ソリューションから不要なファイルを削除する方法
対象製品
Xuni
詳細
Xuniを利用してアプリ開発を行う場合は、Visual StudioやXamarin StudioのソリューションにPCLや各プラットフォーム用プロジェクトをまとめるのが一般的です。
そのプロジェクト内に、ビルドを行った場合に生成されるフォルダ、「bin」と「obj」があります。
この中には利用したライブラリやリソースが含まれ、最終的にリリースするアプリに必要なファイルになります。しかし参照ライブラリや実行ファイルを含むすべてが含まれるためファイル容量が多くなります。
容量が大きいとサポートサービスを利用する場合など、サンプルプロジェクトを提供する場合、ソリューションのフォルダすべてをコピーして共有するのは非効率です。
それを解消するためには不要なファイルを削除して容量を削減します。
「bin」と「obj」フォルダはビルド時に生成されるので他の環境に移す場合は不要です。移した先の環境でリビルドすれば改めて作成されます。削除しても問題ありません。
同様にXamarinやXuniの動作に必要なパッケージをNuGetから取得して保存するフォルダ「packages」も移行先でNuGetから改めて取得できますので、同様にフォルダごと削除できます。
まとめますとソリューションを共有する際に削除することで容量を削減できるフォルダは以下です。
・各プロジェクト内のbinフォルダ
・各プロジェクト内のobjフォルダ
・ソリューション内のpackagesフォルダ
このように不要なフォルダを削除したうえで、ソリューションごと圧縮すれば、ファイル容量を削減した状態でソリューションの共有が可能になります。
以下は、製品に付属するXamarin.Forms用のサンプル「Calendar101」の、初期状態とファイル削除後にそれぞれZip圧縮した例です。
不要なフォルダを削除するためのVisual Studio用のアドインがあります。Visual Studioにインストールし、ソリューションのクリーン処理を行った後にビルドメニューから実行すると、プロジェクト内のbin、objとpackagesの各フォルダを削除してくれます。このアドインの利用をご検討ください。
Force Project Cleaner Addin
https://visualstudiogallery.msdn.microsoft.com/bc509dde-d3a2-46e0-8f75-f6c814dc727f
そのプロジェクト内に、ビルドを行った場合に生成されるフォルダ、「bin」と「obj」があります。
この中には利用したライブラリやリソースが含まれ、最終的にリリースするアプリに必要なファイルになります。しかし参照ライブラリや実行ファイルを含むすべてが含まれるためファイル容量が多くなります。
容量が大きいとサポートサービスを利用する場合など、サンプルプロジェクトを提供する場合、ソリューションのフォルダすべてをコピーして共有するのは非効率です。
それを解消するためには不要なファイルを削除して容量を削減します。
「bin」と「obj」フォルダはビルド時に生成されるので他の環境に移す場合は不要です。移した先の環境でリビルドすれば改めて作成されます。削除しても問題ありません。
同様にXamarinやXuniの動作に必要なパッケージをNuGetから取得して保存するフォルダ「packages」も移行先でNuGetから改めて取得できますので、同様にフォルダごと削除できます。
まとめますとソリューションを共有する際に削除することで容量を削減できるフォルダは以下です。
・各プロジェクト内のbinフォルダ
・各プロジェクト内のobjフォルダ
・ソリューション内のpackagesフォルダ
このように不要なフォルダを削除したうえで、ソリューションごと圧縮すれば、ファイル容量を削減した状態でソリューションの共有が可能になります。
以下は、製品に付属するXamarin.Forms用のサンプル「Calendar101」の、初期状態とファイル削除後にそれぞれZip圧縮した例です。
不要なフォルダを削除するためのVisual Studio用のアドインがあります。Visual Studioにインストールし、ソリューションのクリーン処理を行った後にビルドメニューから実行すると、プロジェクト内のbin、objとpackagesの各フォルダを削除してくれます。このアドインの利用をご検討ください。
Force Project Cleaner Addin
https://visualstudiogallery.msdn.microsoft.com/bc509dde-d3a2-46e0-8f75-f6c814dc727f