Xamarin 日本語情報

Xamarin(ザマリン) の代理店だったエクセルソフト田淵のブログです。主に Xamarin に関するエントリーをアップしていきます。(なるべく正しい有益な情報を掲載していきたいと考えていますが、このブログのエントリーは所属組織の公式見解ではありませんのでご注意ください)

package.config から PackageReference に移行するには

こんにちは。エクセルソフトの田淵です。

古いプロジェクトだと package.config で NuGet パッケージが管理されていますね。例えば、Xamarin.Android に Xamarin.Android.Support.DesignXamarin.Android.Support.v7.AppCompatPlugin.Permissions などがインストールされていると、以下のように「参照」フォルダにめっちゃパッケージが出てきますw

f:id:ytabuchi:20190521101257p:plain:w300

インストールしたライブラリの全部の依存関係が同じように読み込まれ、すべてを表示するためなのですが、package.config での管理には問題がありました。例えばライブラリ A とライブラリ B がライブラリ X に依存していて、さらに依存するライブラリ X のバージョンの指定が異なる場合などに、コンフリクトが発生することがあったのです。

PackageReference では、トップレベルのライブラリのみが表示されて、依存関係のライブラリは表示されず、コンフリクトなどもいい感じに処理してくれるようです。

PackageReference への移行方法

Visual Studio 2019 で package.config を右クリックして、「package.config を PackageReference に移行する」を選択します。

f:id:ytabuchi:20190521111850p:plain:w600

「推移的な依存関係」にチェックが入っていると、トップレベルのライブラリとしてインストールされます。以下の画像ではトップレベルと VS が判断したのは 3つだけなので、推移的な依存関係のチェックは外してしまっても良いと思います。

f:id:ytabuchi:20190521112028p:plain:w600

「OK」をクリックすると、各ライブラリが PackageReference に移行されて、レポートが表示されます。

f:id:ytabuchi:20190521112526p:plain:w600

スッキリしてい感じですね!

f:id:ytabuchi:20190522120127p:plain:w450

参考(というかそのまま)

docs.microsoft.com

Xamarin 気になった方は

Visual Studio 2019 をインストールして触ってみてください。手順書は 2017 のものですが こちらのエントリー が参考になるかと思います。 JXUG リンクページ に参考資料を纏めてますので併せてどうぞ。

エクセルソフトでは Xamarin のトレーニングサービスを行っています。基本的なアプリを手を動かし一緒に作ることで Xamarin を使えるようになって頂く内容ですが、ご要望に応じて講習内容のカスタマイズも可能です。詳しくは @ytabuchi まででお問い合わせいただくか、下記のページをご覧ください。

Xamarin トレーニング : XLsoft エクセルソフト

Xamarin の情報が欲しい方はこのブログも購読いただいたり、私のTwitterアカウントをフォローいただいたりすると嬉しいです。

私が所属している エクセルソフト の宣伝を少しさせてください。弊社は開発者向けの様々なソフトウェアを扱っています。Office/PDF ファイルを .NET/Java で操作するライブラリ Aspose(アスポーズ)、Windows アプリ、Web ページ、iOS/Android アプリの UI テストができ、RPA ツールとしても使える TestComplete などお勧めです(^^) また、Visual Studio Professional/Enterprise with MSDN も販売してますし、日本で売っていない海外のソフトウェア、開発ツールなどを弊社経由で日本円で購入頂くことも可能です。ご興味あれば覗いてみてください。

以上です。

エクセルソフト | ダウンロード | 学習用リソース | JXUG リンクページ | ブログ購読