2012-02-27 1 views
6

私は、fsharpパワーパックサンプルで提供されているMiniCSVTypeProviderを使用しています。リロードタイププロバイダ

残念ながら、提供される値は浮動小数点であると考えていますが、私のものはさまざまな(さまざまな)形式です。したがって私はMiniCsvTypeプロバイダを書き換えて常に文字列を提供し、呼び出し元に解析作業を任せました。

しかし、何らかの奇妙な理由のために、古いDLLを参照解除して新しいDLLへの参照を含めた後、以前の型プロバイダを使用してfloatを提供し続けました。 VSをリフレッシュするために、アセンブリとクラスの名前を変更する必要がありました。

以前のタイプのプロバイダを取り消してリセットする方法はありますか。そのため、VSは変更を考慮していますか?

答えて

1

少し遅かったですが、同じ問題が発生したので、ツール - >オプション - > F#ツール - >タイププロバイダからタイププロバイダを無効にして再度有効にして解決しました。 (私はVS2013を使用しています)

+1

このオプションではVS2015から取り外すことができます。それは他の場所にありますか?または、タイププロバイダロックを解放するためにVisual Studioを再起動する必要がありますか? – Yodiz

7

一般的に、タイププロバイダを開発するときは、プロバイダを更新するためにタイププロバイダを使用しているVSのインスタンスをシャットダウンする必要があります。一般的なワークフローは、2つのVSインスタンスを持つことです:タイププロバイダ自体のコードで作業しているもの、開いているもの、プロバイダを参照/消費/テストするものです。変更するたびに閉じる。コンシューマVSは、ディスク上のDLLをロックすることが多く、アセンブリをそのプロセスにアンロード/再ロードすることもできません。そのため、タイププロバイダ実装を反復するためにVSプロセスを終了する必要があります。

+0

*同じ* Visual Studioでそれを持つことは素晴らしいことではないでしょうか?これは、プログラムのレベルがより深いレベルが前に走っていたと仮定している「段階的実行」という概念では可能です。より深いレベルのミッションは、タイプ、または変数(別名シングルトンタイプ)を次のレベルに提供することです。 – nicolas