C# アプリケーション内から ICU のクラスとメソッドを使用したいと考えています。具体的には、ブレーク インテレータと関連する型です。私の推測では、DllImport を使用して ICU4C dll を参照していると思いますが、ICU 文字列などの型を渡す方法がわかりません。.NET はこれらをマーシャリングしてくれますか? バイナリ ディストリビューションに含まれるライブラリは、COM と互換性がありますか?
2 に答える
ICU4NETを見てください:
ICU4NET は、ICU4C を介して .NET 言語のバインディングを提供します。
それが機能すれば、まさにあなたが必要としているもののように思えます。確かに、最後の「リリース」は 0.0.3 で、最後の変更は 2010 年 8 月でした。
(これまでのところ機能していることに気付くかもしれませんが、元の作成者が必要としていたすべてのことを満たしているので、それだけです。必要に応じて変更を加えることができれば、同じ立場にある将来の開発者に利益をもたらすでしょう。 ...)
代替手段があるようです:icu-dotnet
次の理由により、Lucene.net チームは ICU4NET から icu-dotnet に変更されているようです。
ICU4NET に関しては、ICU4NET を icu-dotnet ( https://github.com/sillsdev/icu-dotnet ) に置き換えました。ICU4NET は元のライブラリの小さな C++/CLI ラッパーを使用しているため、ライブラリを変更することにしましたが、現時点では C++/CLI をクロスプラットフォームに移行する計画はありません。icu-dotnet は代わりに PInvokes を使用します。
ナゲットパッケージはx86のみを対象としているため、ICU4NETから離れることを望んでいました。