CoreCon API के साथ डिवाइस से कनेक्ट करने का प्रयास करते समय DirectoryNotFoundException प्राप्त करना

मैं विजुअल स्टूडियो 2008 में प्रोग्रामक रूप से डिवाइस अनुकरणकर्ताओं को लॉन्च करने के लिए कोरकॉन एपीआई का उपयोग करने की कोशिश कर रहा हूं। जब मैं डिवाइस को कॉल करता हूं। कनेक्ट() , मैं निष्पक्ष रूप से एक DirectoryNotFoundException प्राप्त करता हूं। अगर मैं इसे PowerShell में या सी # कंसोल एप्लिकेशन में आज़माता हूं तो मुझे यह मिल जाता है। मैं जिस कोड का उपयोग कर रहा हूं वह यहां है:

static void Main(string[] args)
{
     DatastoreManager dm = new DatastoreManager(1033);
     Collection platforms = dm.GetPlatforms();

     foreach (var p in platforms)
     {
        Console.WriteLine("{0} {1}", p.Name, p.Id);
     }

     Platform platform = platforms[3];
     Console.WriteLine("Selected {0}", platform.Name);

     Device device = platform.GetDevices()[0];
     device.Connect();
     Console.WriteLine("Device Connected");

     SystemInfo info = device.GetSystemInfo();
     Console.WriteLine("System OS Version:{0}.{1}.{2}",info.OSMajor, info.OSMinor, info.OSBuildNo);

     Console.ReadLine();
}

क्या किसी को पता है कि मुझे यह त्रुटि क्यों मिल रही है? मैं इसे WinXP 32-बिट, सादा जेन विजुअल स्टूडियो 2008 प्रो पर चला रहा हूं। मुझे लगता है कि यह कुछ कॉन्फ़िगरेशन समस्या है क्योंकि मैं इसे कंसोल ऐप या पावरशेल से नहीं कर सकता।

यहां स्टैक ट्रेस है:

System.IO.DirectoryNotFoundException was unhandled

Message="The system cannot find the path specified.\r\n"

Source="Device Connection Manager"

StackTrace:
       at Microsoft.VisualStudio.DeviceConnectivity.Interop.ConManServerClass.ConnectDevice()
       at Microsoft.SmartDevice.Connectivity.Device.Connect()
       at ConsoleApplication1.Program.Main(String[] args) in C:\Documents and Settings\Thomas\Local Settings\Application Data\Temporary Projects\ConsoleApplication1\Program.cs:line 23
       at System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
       at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
       at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
       at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
       at System.Threading.ThreadHelper.ThreadStart()
0
ro fr bn

4 उत्तर

मुझे संदेह है कि मेरे माइक्रोसॉफ्ट के साथ कोई समस्या है। VisualStudio.DeviceConnectivity.Interop असेंबली। डिस्क पर उस की कोई प्रति नहीं है जिसे मैं पा सकता हूं। यह केवल जीएसी में है। मैंने परावर्तक में निरीक्षण करने की कोशिश की, लेकिन इसे इंटरऑप असेंबली की भी आवश्यकता है। चूंकि ConManServerClass स्पष्ट रूप से COM है, हो सकता है कि एक COM लाइब्रेरी है जिसे पंजीकृत होना है?

0
जोड़ा

वीएस 2008 एसपी 1 स्थापित करने से यह मेरे लिए तय हो गया।

0
जोड़ा

मैंने कोशिश की और यह ठीक काम करता है। क्या आप पूरे अपवाद और स्टैक ट्रेस में पेस्ट कर सकते हैं?

Updated: Strangely I can't find that interop assy on my machine either other than under the c:\windows\assembly\GAC_MSIL folders.

SysInternals FileMon या Process मॉनिटर को फायर क्यों न करें, यह कुछ अनुमान लगाएगा।

0
जोड़ा

It can be found at :\Program files\Common Files\Microsoft Shared\CoreCon\1.0\Bin.

यह वह मार्ग है जहां आप यह डीएल प्राप्त कर सकते हैं, इसलिए इस परियोजना को अपनी परियोजना में जोड़ें।

0
जोड़ा