「Portable Class Library」の版間の差分
ナビゲーションに移動
検索に移動
(ページの作成:「'''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を使えばMonoGameでXamarin.MacとXamarin.iOSとXamarin.Androidのプロジェクトを必要最低限で作れるかと思ったが、実際にやってみたところPCLの制約が多すぎてXamarin.Macで大まかなデバッグ環境を作ってマクロ(#ifdef)でXamarin.Androidなりの依存部分を分岐させた方が捗るという結論に至った。