Xamarin.Mac (か Xamarin.iOS )から netstandard2 を使用する方法

More than 1 year has passed since last update.

2017.8.15、 .NET Core 2.0 のリリースが正式にアナウンスされました。

スクリーンショット 2017-08-15 7.12.05.png

Announcing .NET Core 2.0

これに関して Xamarin.Mac のリード Chris Hamons 氏が自身のブログでこの記事を紹介してます。

Xamarin.Mac and netstandard2

まとめますが、オリジナル以上の情報はない(以下ぼほ元記事の翻訳です)ので、英語抵抗なければ元記事読んでください。


要約


  • Xamarin.Mac (か iOS )から netstandard2 ライブラリを使う場合、正式対応は d15–4 のメジャーリリースのため、いくつか問題があるかもしれない

  • ただ、適切なパッケージをインストールして csproj を少しいじれば回避できる


具体的な回避策


  1. d15–3( Visual Studio の version 15.3) をインストールする

  2. .NET Coreのこのページから .NET Core 2 のパッケージをダウンロード/インストールする

  3. 現状バグがあるので、 Xamarin.Mac (か iOS) の csproj を修正する

<Reference Include="Xamarin.Mac" />

の下に

<Reference Include="netstandard" />

を追加します。

iOSなら

<Reference Include=”Xamarin.iOS” />

です。

同一 ItemGroup であることを注意してください。

Xamarin.Mac .NET 4.5 Framework を選択している( Xamarin.Mac Mobile Frameworkを選択してない)なら、

<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion> を一番上の PropertyGroup に追加してください。

(これは UseXamMacFullFramework の例です)

あくまでも正式リリースは次のメジャーリリースで、上記問題回避策も「とりあえずは動く状態にする」ものなので問題があればここに報告して欲しいとのことです。

そして上記のような回避策する必要がある原因はこれだそうです。

Unable to build iOS project that references a NET Standard 2.0 library