「Portable Class Library」の版間の差分

提供: MonoBook
ナビゲーションに移動 検索に移動
(ページの作成:「'''Portable Class Library'''(通称:PCL)とは、.NET Frameworkのライブラリのうち、OSに依存しない汎用的なライブラリのことである。 =...」)
 
4行目: 4行目:
 
ポータブル クラス ライブラリ (PCL: Portable Class Library) プロジェクトは、Windows Phone 7、Silverlight、Microsoft .NET Framework、および Xbox 360 の各プラットフォームで参照できるマネージ アセンブリを生成します。これにより、コードを最大限に再利用し、必要なプロジェクトの数を削減できます。特に、この記事付属のデモ アプリケーションのように、同じコードベースを共有するマルチターゲット アプリケーションの場合にこの効果が顕著に現れます。
 
ポータブル クラス ライブラリ (PCL: Portable Class Library) プロジェクトは、Windows Phone 7、Silverlight、Microsoft .NET Framework、および Xbox 360 の各プラットフォームで参照できるマネージ アセンブリを生成します。これにより、コードを最大限に再利用し、必要なプロジェクトの数を削減できます。特に、この記事付属のデモ アプリケーションのように、同じコードベースを共有するマルチターゲット アプリケーションの場合にこの効果が顕著に現れます。
 
* https://msdn.microsoft.com/ja-jp/magazine/hh335063.aspx
 
* https://msdn.microsoft.com/ja-jp/magazine/hh335063.aspx
 +
 +
PCLと[[NuGet]]を組み合わせると環境ごとに依存コードで分岐させることもできる。
  
 
実のところPCLはWindows Phone 7とSilverlightのせいで残念なことになっている。
 
実のところPCLはWindows Phone 7とSilverlightのせいで残念なことになっている。

2016年12月6日 (火) 07:20時点における版

Portable Class Library(通称:PCL)とは、.NET Frameworkのライブラリのうち、OSに依存しない汎用的なライブラリのことである。

概要

ポータブル クラス ライブラリ (PCL: Portable Class Library) プロジェクトは、Windows Phone 7、Silverlight、Microsoft .NET Framework、および Xbox 360 の各プラットフォームで参照できるマネージ アセンブリを生成します。これにより、コードを最大限に再利用し、必要なプロジェクトの数を削減できます。特に、この記事付属のデモ アプリケーションのように、同じコードベースを共有するマルチターゲット アプリケーションの場合にこの効果が顕著に現れます。

PCLとNuGetを組み合わせると環境ごとに依存コードで分岐させることもできる。

実のところPCLはWindows Phone 7とSilverlightのせいで残念なことになっている。 そんなゴミは切り捨てるのが吉である。 将来的には.NET Coreの普及で削除だろう。

結論

PCLを使えばMonoGameXamarin.MacXamarin.iOSXamarin.Androidのプロジェクトを必要最低限で作れるかと思ったが、実際にやってみたところPCLの制約が多すぎてXamarin.Macで大まかなデバッグ環境を作ってマクロ(#ifdef)でXamarin.Androidなりの依存部分を分岐させた方が捗るという結論に至った。

関連項目

参考文献