2017-08-09 56 views
3

我遵循Tomas Petricek關於複合視點的指導。我試圖做一個C#單元測試項目來測試一些來自F#庫的方法,但是即使在C#項目中添加對F#項目的引用後,我也無法使用任何方法,因爲它們不被識別,試圖使用F#項目中的命名空間,它是一個未知的命名空間。在包含引用後無法使用項目中的命名空間? F#C#

對於這些問題的大多數解決方案似乎是針對不同的框架,但是,我在兩個項目中的目標是4.5.2。

可能會出現什麼問題?

+2

需要檢查的一件事是確保F#項目編譯時沒有錯誤 - 如果無法編譯它,C#項目將不會看到任何內容。如果情況並非如此,你能以某種方式分享你的項目嗎?如果沒有更多的信息,很難看出可能是什麼原因造成的...... –

+0

哈哈你是對的我還沒有建立F#項目。愚蠢的錯誤。我仍在磨練自己的技能!感謝Tomas你是我的英雄哈哈! – Zachscs

+0

我很高興這有幫助!我把它變成了一個適當的答案,並提供了一些關於它如何工作的細節。 –

回答

3

需要檢查的一件事是確保F#項目已編譯並且沒有錯誤。

當C#項目引用F#庫時,C#編譯器將查看生成的dll文件並根據編譯後的庫提供自動完成。這與從C#項目引用C#庫時不同,因爲在這種情況下,自動完成是基於Visual Studio在後臺執行的檢查。

這意味着,無論何時更改F#庫的公共API,都需要重新編譯它,以確保C#項目能夠看到最新版本。

相關問題