「マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次 †
概要 †
- Windowsで使用できていたP/Invokeは、
.NET Core、Linuxでも利用可能である模様。
- それでは、アンマネージドコードをP/Invokeして、
どのように.NET Coreをクロスプラットフォーム対応させるのか?
詳細 †
準備 †
- 先ず、DLLやSOなどのアンマネージ・ライブラリを作成する。
実装 †
- ラッパー・ライブラリから、P/Invokeライブラリを呼び出す。
- ラッパー・ライブラリはマネージドコード上でインターフェイスを定義。
分岐させる方法 †
Environment.OSVersionを使用して分岐させる。
分岐させる位置 †
- ラッパー・ライブラリ内部で、
Environment.OSVersionを使用して分岐させる。
- ラッパー・ライブラリをWindows、Linuxの2系統を作成して、
呼び出し元でEnvironment.OSVersionを使用して分岐させる。
※ 暗号化ライブラリでは、内部で
CAPI(CSP)、CNG、OpenSSLなどのプロバイダが切り替えられるので、基本、
前者のように、ラッパー・ライブラリ内部で分岐させるのが良いと考える。
参考 †
Tags: :Windows, :プログラミング, :.NET開発