2011-04-20 10 views
9

मैं एफ # के लिए ताजा हूं, लेकिन मैं वास्तव में इसे सीखना चाहता हूं। मुझे पाइथन पता है, मुझे सी # पता है। वास्तव में, मुझे एक सी # लाइब्रेरी मिली है जिसे मैंने स्वयं बनाया है; यह आरडीओआई एपीआई (मैंने इसे RdioSharp नाम दिया है) के लिए एक रैपर है जिसे मैं सफलतापूर्वक एक और सी # प्रोजेक्ट में ला सकता हूं और इसे कॉल कर सकता हूं, इसका उपयोग कर सकता हूं, डेटा प्राप्त कर सकता हूं ... यह काम करता है।एफ # प्रोजेक्ट में सी # लाइब्रेरी का उपयोग करना?

मैं एक एफ # प्रोजेक्ट में इस सी # लाइब्रेरी के साथ घूमना शुरू करना चाहता हूं, लेकिन यह सही काम नहीं कर रहा है। सी # कोड कैसा दिखता है इसका संक्षिप्त विवरण यहां दिया गया है।

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

मैं अपने FSharpTest परियोजना में DLL के संदर्भ में जोड़ दिया है, मैं एक .fsx फ़ाइल नीचे प्रत्येक पंक्ति (फिर से वास्तव में खींच लिया है, और मैं निम्नलिखित की कोशिश की है,, यह ध्यान रखें, मैं मुझे नहीं पता कि मैं क्या कर रहा हूं)।

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

मैं इसे एक नहीं समझ सकता। मुझे पता है कि सिस्टम एफ # पुस्तकालयों का उपयोग कैसे करें, लेकिन मैं एफ # में सी # लाइब्रेरी का संदर्भ कैसे दूं? क्या यह संभव है? क्या यह पर्याप्त जानकारी जारी है?

मैंने this और this देखा है (जो मेरी समस्या के करीब भी हो जाता है) लेकिन उन लोगों को सभी F # के बारे में और अधिक जानते हैं, और वे मेरी समस्या से आगे हैं।

इंटरैक्टिव विंडो में, #r "RdioSharp.dll";; में पंचिंग करते समय, मुझे यह सुंदर त्रुटि मिलती है।

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

उत्तर

5

निम्नलिखित कोड काम करता है यदि F # पर्यावरण Rdiosharp.dll का स्थान ढूंढ सकता है। आमतौर पर नहीं! तो यह काम नहीं करता है और आपको बताता है कि "त्रुटि FS0084: असेंबली संदर्भ 'RdioSharp.dll' नहीं मिला था या अमान्य है"।

#r "RdioSharp.dll" 

आप में के रूप में इस dll का सही मार्ग प्रदान कर सकते हैं:

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

या आप खोज-पथ में अपने फ़ोल्डर जोड़ सकते हैं:

#I @"c:\temp" 
+0

आह, धन्यवाद! मेरी सभी निराशा में, बैकस्लाश से बचने के लिए मैं अपनी स्ट्रिंग को '@' भूल गया था। कोई आश्चर्य नहीं कि यह मेरी लाइब्रेरी नहीं ढूंढ सका। –

+0

धन्यवाद !! कुछ घंटों के बाद मुझे आपका जवाब मिला और इसे हल किया! – dusiod

संबंधित मुद्दे