質問: はじめてXamarinさわってます。 ![![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/91fa8fd3699e73114761a1c05658c0b3.png)] ### 前提・実現したいこと XamarinとMilkcocoaをつなげたいです。 Xamarin StudioのnugetからMilkcocoaパッケージを追加しようとするタイミングでエラーになります。 ### 発生している問題・エラーメッセージ ``` Attempting to gather dependency information for package 'Milkcocoa.1.2.0' with respect to project 'xamarin_test_app.Droid', targeting 'MonoAndroid,Version=v7.0' Attempting to resolve dependencies for package 'Milkcocoa.1.2.0' with DependencyBehavior 'Lowest' Resolving actions to install package 'Milkcocoa.1.2.0' Resolved actions to install package 'Milkcocoa.1.2.0' For adding package 'M2Mqtt.4.3.0' to project 'xamarin_test_app.Droid' that targets 'monoandroid70'. Install failed. Rolling back... Package 'M2Mqtt.4.3.0' does not exist in project 'xamarin_test_app.Droid' Package 'M2Mqtt.4.3.0' does not exist in folder '/Users/n0bisuke/dotstudio/events/xamarin/xamarin_test_app/packages' Could not install package 'M2Mqtt 4.3.0'. You are trying to install this package into a project that targets 'MonoAndroid,Version=v7.0', but the package does not contain any assembly references or content files that are compatible with that framework. For more information, contact the package author. ``` ### 試したこと * エラーが出てるM2Mqttを個別にインストールしようとしてもダメでした。 ### 補足情報(言語/FW/ツール等のバージョンなど) * Mac OS 10.11 * Xamarin Studio 6.1 * Mono 4.6.0 参考リンク: http://jxug.connpass.com/event/39086/
回答: お疲れ様です!田淵です。 `Milkcocoa.1.2.0` の Dependency で利用される `M2Mqtt.4.3.0` が `MonoAndroid,Version=v7.0` のプロファイルを持っていないためインストールできていないようです。 ライブラリ作者が Xamarin.Android 対応をしてくれるのを待つか、OSS であれば自分でターゲットだけ追加すれば NuGet パッケージマネージャを騙してインストールすることはできます。 コードはそのままでも、ターゲットだけ追加すればインストールは出来ますので、そのあたりを試してみるか、ライブラリ作者にターゲットを追加してもらうのが良いかと思います。 Xamarin は NuGet のライブラリをすべて使えるわけではなく、Android で使用したい場合はライブラリ作者が MonoAndroid をターゲットの一覧に追加してくれてないといけません。共通ライブラリ(PCL)で使用したい場合は、Xamarin に対応したプロファイルをターゲットの一覧に追加してくれないといけません。 このあたりの情報は C# の神、岩永さんのスライドに詳しく載っています。 .NET Standard Library - Docs.com Xamarin の壁の一つだと思います笑