4

私は Windows 8 アプリケーションを構築していますが、XML で最新の形式になっているISO-4217コードのリストを含めたいと思っています。

当然、すべての国にこれらのコードがいくつかあります。私は、Type Provider が非常に適していると考えました。ただし、コードを発行するため、ポータブル ライブラリでは使用できません。

私が持っている XML を使用するために、型プロバイダーをエミットを使用しないようにコンパイルするにはどうすればよいですか?

4

2 に答える 2

3

ポータブル ライブラリから使用できる型プロバイダーを作成した経験はありませんが、型プロバイダーが実行時にコードを発行すると想定しているようです。これは実際には当てはまらないため、ポータブル設定で使用する方が簡単かもしれません.

F# コンパイラを実行すると、型プロバイダーが実行されます。この時点で、いくつかの型生成される可能性がありますが、実際にそれを行うのは 1 種類の型プロバイダーのみです (2 つの異なる種類があります - this SO answerを参照してください)。ただし、F# 型プロバイダーを使用するコードをコンパイルすると、結果のアセンブリは実行時にコードを出力しません。

Freebase タイプのプロバイダー(FSharpX で利用可能) は、ポータブル モードで動作するプロバイダーの例だと思います。トリックの一部は、プロバイダーを 2 つのアセンブリに分割することであると思われます。1 つは実行時に必要なコードを含み、もう 1 つは設計時のコンポーネント (型情報をビルドする必要はありませんが、出力する必要はありません) を含みます。FreebaseRuntime.fsTypeProviderAssemblyの属性を参照してください。

于 2012-11-04T12:59:42.870 に答える