PCL の公式サポートは、いつでも Xamarin から提供される予定です。
これが実現するまで、Mac でのサポートには、PC-nuget ソリューションを構築するために .csproj を少し編集する必要があります。
これらのプロジェクトをビルドする最も簡単な方法は次のとおりです。
portable-win+net45+MonoAndroid16+MonoTouch40+sl40+wp71
アセンブリ ヒント パスをパスからパスに切り替えMonoTouch40
ます。
- System.Windows shim アセンブリをリストに追加します (コア プロジェクトでこれらの領域を使用する場合は、.Net および .Xml.Serialization shim も必要になる場合があります)。
これを N=21 で実行すると、Core csproj ファイルの参照部分は次のようになります。
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Windows">
<HintPath>..\packages\MvvmCross.PortableSupport.3.0.6\lib\MonoTouch40\System.Windows.dll</HintPath>
</Reference>
<Reference Include="Cirrious.CrossCore">
<HintPath>..\packages\MvvmCross.HotTuna.CrossCore.3.0.6\lib\MonoTouch40\Cirrious.CrossCore.dll</HintPath>
</Reference>
<Reference Include="Cirrious.MvvmCross">
<HintPath>..\packages\MvvmCross.HotTuna.StarterPack.3.0.6\lib\MonoTouch40\Cirrious.MvvmCross.dll</HintPath>
</Reference>
<Reference Include="Cirrious.MvvmCross.Localization">
<HintPath>..\packages\MvvmCross.HotTuna.CrossCore.3.0.6\lib\MonoTouch40\Cirrious.MvvmCross.Localization.dll</HintPath>
</Reference>
<Reference Include="Cirrious.MvvmCross.Plugins.Json">
<HintPath>..\packages\MvvmCross.HotTuna.Plugin.Json.3.0.6\lib\MonoTouch40\Cirrious.MvvmCross.Plugins.Json.dll</HintPath>
</Reference>
<Reference Include="Cirrious.MvvmCross.Plugins.JsonLocalisation">
<HintPath>..\packages\MvvmCross.HotTuna.Plugin.JsonLocalisation.3.0.6\lib\MonoTouch40\Cirrious.MvvmCross.Plugins.JsonLocalisation.dll</HintPath>
</Reference>
<Reference Include="Cirrious.MvvmCross.Plugins.ResourceLoader">
<HintPath>..\packages\MvvmCross.HotTuna.Plugin.ResourceLoader.3.0.6\lib\MonoTouch40\Cirrious.MvvmCross.Plugins.ResourceLoader.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json">
<HintPath>..\packages\MvvmCross.HotTuna.Plugin.Json.3.0.6\lib\MonoTouch40\Newtonsoft.Json.dll</HintPath>
</Reference>
</ItemGroup>
これをhttps://github.com/slodge/NPlus1DaysOfMvvmCross/blob/master/N-21-Babel/Babel.Core/Babel.Core.csprojのオリジナルと比較してください
これがあまりにも「ハック」であると感じた場合、現在の代替手段は nuget を使用せず、代わりにバイナリ フォルダーを使用することです。 n22-from-basics-on-mac-n1-days-of.html
うまくいけば、私がこれを書き終えるまでに、Xamarin はすでに PCL サポートを出荷しているので、これは時代遅れになるでしょう...