यह सभी सी # गुरुओं के लिए है। मैं कुछ समय पहले इस पर अपने सिर पर टक्कर लगी हूं, बिना किसी लाभ के नेट पर सभी प्रकार की सलाह की कोशिश की। विंडोज मोबाइल 5.0 में कार्रवाई हो रही है।मैं .NET CF अपवाद को कैसे हल करूं "PInvoke DLL नहीं ढूंढ सकता"?
मेरे पास MyDll.dll नामक एक डीएलएल है। MyDll.h में मेरे पास है:
extern "C" __declspec(dllexport) int MyDllFunction(int one, int two);
MyDll.cpp में MyDllFunction की परिभाषा है:
[DllImport("MyDll.dll")]
extern public static int MyDllFunction(int one, int two);
ही में:
int MyDllFunction(int one, int two)
{
return one + two;
}
सी # वर्ग निम्नलिखित घोषणा-पत्र शामिल कक्षा मैं MyDllFunction को निम्न तरीके से कॉल कर रहा हूं:
int res = MyDllFunction(10, 10);
और यह वह जगह है जहां खूनी चीज़ मुझे दे रही है "PInvoke DLL 'MyDll.dll' नहीं ढूंढ सकता"। मैं सत्यापित किया है कि मैं इस तरह के रूप सिस्टम कॉल पर PInvoke करना वास्तव में कर सकते हैं "GetAsyncKeyState (1)", घोषित:
[DllImport("coredll.dll")]
protected static extern short GetAsyncKeyState(int vKey);
MyDll.dll निष्पादन को उसी फ़ोल्डर में है, और मैं भी है इसे किसी भी बदलाव और न ही सफलता के साथ/विंडोज फ़ोल्डर में डालने का प्रयास किया। किसी भी सलाह या समाधान की सराहना की जाती है।
सुनिश्चित करें कि आप पर्याप्त खाली आभासी स्मृति किया है आशा है कि, पी के बाद से/आह्वान आयात उस पर असफल हो सकता है। – arul
क्या आपने अपनी परियोजना में संदर्भ के रूप में डीएल जोड़ा है? यदि आप ऐसा करते हैं, तो आपको फ़ाइल को मैन्युअल रूप से कॉपी करने की आवश्यकता नहीं होगी।यदि समस्या बनी रहती है, तो शायद यह संभवतः डीएलएल फ़ाइल के कारण सही ढंग से नहीं बनाया गया है (शायद अलग मंच)। – kgiannakakis
दोनों परियोजनाएं एक ही समाधान में हैं और उन्हें एक साथ तैनात किया गया है, मैन्युअल रूप से अपलोड करने की आवश्यकता नहीं है। –