2017-02-10 14 views
0

Objective-Cネイティブライブラリ用のXamarin.iOS Bindingライブラリでは、過去数週間でバインディングライブラリDLLの出力サイズに大きなばらつきが見られました。これを引き起こした可能性のあるアイデアはありません。Xamarin iOSの大きな違いを理解するバインディングライブラリのサイズ

私たちのバインディングライブラリはpublished to MyGet (NuGet)であり、パッケージは7MBytes(良い!)から200MBytes(悪い!

enter image description here

ライブラリをバインドXamarin.iOSの設定はかなりまっすぐ進むです。 AnyCPUフラグ付きのリリースモードでコンパイルしています。

enter image description here

フレームワークサイズ自体はかなり一定15MBytesであるが、検査に(SVNレポにチェックインされた)フレームワークは61メガバイトであるの.svnフォルダを有しています。

enter image description here enter image description here

だから私は自分自身に思ったんだけど... は、結合ライブラリを作成する際の.svnフォルダを無視するXamarinを指示する方法はありますか?

また、コンパイル済みフレームワークのSVNリポジトリよりも優れたパッケージマネージャを使用する必要がありますか? :D

+1

これは、Xamarinにフォルダを無視するように伝えるべきシナリオではないと思います。これが何かあれば、カスタムビルドスクリプトで解決すべきものです。いくつかの考えは、既存のSVNプロジェクトを受け取り、バインディングを生成するために '.svn'フォルダなしで一時プロジェクトにコピーすることです。残念ながら私はしばらくSVNを使用していないので、言うことは難しいです。もう一つの考えは、あなたの '.csproj'に追加されているものが何であるかを見て、そこに追加されているかどうかを調べることです。 –

+1

最後に、実際のビルドタスクを見て、何が起こっているのかを確認します。//github.com/xamarin/xamarin-macios/blob/e3166fbb15bd4561cea0abdc7fa6ad02b1e027e6/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.ObjCBinding .CSharp.targets –

+0

良いアイデア。私のようなゴム製の鴨は、.svnフォルダが問題を書いている間にサイズに追加されていることを理解しました。次に、読者がフォルダを除外する練習になります。 Xamarin csprojには含まれていません。それはちょうど全体のフォルダをピックアップしている... –

答えて

0

私はこの問題を解決しましたが、どうすればよいかわかりません。

私は、XamarinがコンパイルしたBindingライブラリに含めることがある.frameworkフォルダに.svnフォルダを含めることによって大きな違いが生じたと考えています。

ことの.svnフォルダを除去した後、ライブラリーのサイズは、任意の小さなを取得できませんでした...

完全cleaning all Xamarin folders as per this article含め、MAC OSXサーバー上毛I再インストールXamarinメーカーのいくつかの塊を失う後。

次に、リビルド後、バインディングライブラリのサイズが7Mバイトより小さくなります。

関連する問題