2011-04-20 18 views
9

F # ye yeniyim, ama gerçekten öğrenmek istiyorum. Python'u biliyorum C# yi biliyorum. Aslına bakarsanız, kendim yaptım C# kütüphanem var. Başka bir C# projesine başarılı bir şekilde katılabildiğim ve onu kullanabileceğim, veri alabildiğim Rdio API'sı (Ben RdioSharp adını verdim) için bir sarıcıdır.F # projesinde C# kütüphanesini kullanarak?

F # projesinde bu C# kitaplığı ile etrafta dolaşmaya başlamak istiyorum, ancak doğru çalışmıyor. İşte C# kodunun neye benzediğine dair bir kısa mesaj.

namespace RdioSharp { 
    public class RdioManager { 
     public RdioManager() { } 
    } 
} 

benim FSharpTest projede DLL referansı ekledik, gerçekten, unutmayın, her satır yine (aşağıda, bir .fsx dosyasını çekti ettik ve aşağıdaki denedim ne yaptığım hakkında hiçbir fikrim yok.

open RdioSharp 
open RdioSharp.dll 
#r "RdioSharp.dll" 
#r "C:\Path\To\Library\RdioSharp.dll" 

Bunu anlayamıyorum. Sistem F # kitaplıklarını nasıl kullanacağımı biliyorum, ancak F # içindeki C# kitaplığına nasıl başvururum? Mümkün mü? Devam etmek için yeterli bilgi var mı?

this ve this'u (ki bu da benim sorunuma daha da yaklaşıyor) görmüştüm ama bu insanların hepsi F # hakkında benden daha fazla şey biliyorlar ve benim sorunumun önündeler.

Etkileşimli pencerede, #r "RdioSharp.dll";; numaralı delme yaparken, bu güzel hatayı alıyorum. F # ortamı Rdiosharp.dll yerini bulabilirse

error FS0084: Assembly reference 'RdioSharp.dll' was not found or is invalid 

cevap

5

Aşağıdaki kod çalışır. Genellikle değil! Bu yüzden çalışmıyor ve "hata FS0084: Montaj referansı 'RdioSharp.dll' bulunamadı veya geçersiz" olduğunu söyler.

#r @"c:\temp\RdioSharp.dll" 

veya arama-yolu içine klasör ekleyebilirsiniz:

#r "RdioSharp.dll" 

Sen olarak bu dll kesin yolunu sağlayabilir

#I @"c:\temp" 
+0

Ahh, teşekkür ederim! Tüm hayal kırıklığımda, ters eğik çizgiların kaçtığından emin olmak için dizgemi 'nı unuttum. Kütüphanemden hiçbir şey bulamadı. –

+0

Teşekkürler! Birkaç saat sonra cevabınızı buldum ve çözdüm! – dusiod

İlgili konular