2012-02-27 79 views
6

我正在使用fsharp powerpack示例中提供的MiniCSVTypeProvider。重載類型提供程序

不幸的是,它認爲提供的值是浮動的,而我的是各種(不同的)格式。因此,我重寫了MiniCsvType提供者,以便始終提供字符串,而不必將解析工作留給調用者。

但由於某些奇怪的原因,在解引用舊的DLL幷包含對新DLL的引用後,它使用舊類型提供程序繼續提供浮動。我不得不改變彙編和類的名稱,讓VS刷新它。

是否有任何其他方法來撤銷/重置前類型提供程序,以便VS考慮到更改?

回答

1

有點遲了,但遇到同樣的問題,我通過停用和重新激活類型提供程序從工具 - >選項 - > F#工具 - >類型提供程序來解決它。 (我正在使用VS2013)

+1

此選項接縫將從VS2015中刪除。它位於其他地方嗎?或者我需要重新啓動Visual Studio才能釋放類型提供程序鎖定? – Yodiz 2016-08-18 13:29:20

7

通常,在開發類型提供程序時,您需要關閉使用類型提供程序的VS實例以更新提供程序。一個常見的工作流程是擁有兩個VS實例:一個處理類型提供程序本身的代碼,一個處於打開狀態,另一個引用/消耗/測試提供程序,每當您要進行更改時關閉該提供程序。消費者VS通常將DLL鎖定在磁盤上,並且也不能將該程序集卸載/重新加載到其進程中,這就是爲什麼您需要結束VS進程來迭代您的類型提供程序實現。

+0

在*相同* Visual Studio中這樣做不是很好嗎?這可以通過「階段性執行」的概念來實現,其中您所編程的層次假定所有更深層次的層次都在之前運行。深層次的使命是提供類型或變量(又名單身類型)到下一個級別。 – nicolas 2012-02-28 07:55:16

相關問題