2012-06-04 8 views
15

पर तैनाती करते समय फ़ाइल या असेंबली 'एक्स' या इसकी निर्भरताओं में से एक लोड नहीं हो सका, मुझे एक अनुप्रयोग को तैनात करने में एक अजीब समस्या है, जो प्रबंधित सी ++ में लिखी गई असेंबली का संदर्भ देता है।System.IO.FileNotFoundException: अनुप्रयोग

मैंने एक असेंबली एक्स बनाया है, इसे संकलित किया है और इसे स्टार्टर नामक एक एक्सई फ़ाइल में संदर्भित किया है।

स्टार्टर.एक्सई सामान्य रूप से स्थानीय मैशिन पर शुरू होता है।

Unhandled Exception: System.IO.FileNotFoundException: Could not load file or 
assembly 'X' or one of its dependencies. The specified module could not be found. 

यह मेरे लिए कोई मतलब नहीं है, क्योंकि एक्स सही है: हालांकि, जब मैं एक आभासी मशीन के लिए स्टार्टर डिबग फ़ोल्डर की सभी सामग्री की प्रतिलिपि, और यह वहाँ प्रारंभ करने का प्रयास है, यह निम्न अपवादों के साथ दुर्घटनाओं Starter.exe के समान फ़ोल्डर में।

इस समस्या का कारण क्या हो सकता है?

अद्यतन

मैं लक्षित मशीन पर परावर्तक में निर्भरता की जांच की है, और यह उन सभी के लिए फ़ाइलों को खोजने के लिए सक्षम था।

मैंने सभी परियोजनाओं के लिए कॉन्फ़िगरेशन को x86/win32 में भी बदल दिया है।

अद्यतन

यहाँ फ्यूजन प्रवेश से लॉग कर रहे हैं (स्थान: C: \ FusionLog \ डिफ़ॉल्ट Starter.exe \ एक्स, संस्करण = 1.0.4538.22813, संस्कृति = \ तटस्थ, PublicKeyToken = null.HTM) :

*** Assembly Binder Log Entry (6/4/2012 @ 1:56:13 PM) *** 

The operation was successful. 
Bind result: hr = 0x0. The operation completed successfully. 

Assembly manager loaded from: C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\clr.dll 
Running under executable C:\Documents and Settings\Administrator\Desktop\tmp\k;k\Starter.exe 
--- A detailed error log follows. 

=== Pre-bind state information === 
LOG: User = MENKAUR-7683827\Administrator 
LOG: DisplayName = X, Version=1.0.4538.22813, Culture=neutral, PublicKeyToken=null 
(Fully-specified) 
LOG: Appbase = file:///C:/Documents and Settings/Administrator/Desktop/tmp/k;k/ 
LOG: Initial PrivatePath = NULL 
LOG: Dynamic Base = NULL 
LOG: Cache Base = NULL 
LOG: AppName = Starter.exe 
Calling assembly : Starter, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null. 
=== 
LOG: This bind starts in default load context. 
LOG: Using application configuration file: C:\Documents and Settings\Administrator\Desktop\tmp\k;k\Starter.exe.Config 
LOG: Using host configuration file: 
LOG: Using machine configuration file from C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\config\machine.config. 
LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind). 
LOG: Attempting download of new URL file:///C:/Documents and Settings/Administrator/Desktop/tmp/k;k/X.DLL. 
LOG: Assembly download was successful. Attempting setup of file: C:\Documents and Settings\Administrator\Desktop\tmp\k;k\X.dll 
LOG: Entering run-from-source setup phase. 
LOG: Assembly Name is: X, Version=1.0.4538.22813, Culture=neutral, PublicKeyToken=null 
LOG: Binding succeeds. Returns assembly from C:\Documents and Settings\Administrator\Desktop\tmp\k;k\X.dll. 
LOG: Assembly is loaded in default load context. 

केवल त्रुटियों सी में कर रहे हैं: \ FusionLog \ NativeImage \ Starter.exe \ निर्देशिका:

*** Assembly Binder Log Entry (6/4/2012 @ 1:56:13 PM) *** 

The operation failed. 
Bind result: hr = 0x80070002. The system cannot find the file specified. 

Assembly manager loaded from: C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\clr.dll 
Running under executable C:\Documents and Settings\Administrator\Desktop\tmp\k;k\Starter.exe 
--- A detailed error log follows. 

=== Pre-bind state information === 
LOG: User = MENKAUR-7683827\Administrator 
LOG: DisplayName = BookmarkWiz.Kernel, Version=1.0.4538.22813, Culture=neutral, PublicKeyToken=null 
(Fully-specified) 
LOG: Appbase = file:///C:/Documents and Settings/Administrator/Desktop/tmp/k;k/ 
LOG: Initial PrivatePath = NULL 
LOG: Dynamic Base = NULL 
LOG: Cache Base = NULL 
LOG: AppName = Starter.exe 
Calling assembly : Starter, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null. 
=== 
LOG: Start binding of native image X, Version=1.0.4538.22813, Culture=neutral, PublicKeyToken=null. 
WRN: No matching native image found. 
LOG: IL assembly loaded from C:\Documents and Settings\Administrator\Desktop\tmp\k;k\X.dll. 

मैं, विधानसभा प्रवेश नहीं कर सकते यह संदर्भ के रूप में से veral अन्य विधानसभाओं, जो

+0

कृपया मेरा अद्यतन उत्तर देखें और जांचें कि क्या आपके डीएल अवरुद्ध हैं क्योंकि वे अविश्वसनीय स्रोत से हैं। – flayn

+2

फ़्यूज़न लॉग का उपयोग करके आपको कुछ जांचना चाहिए - http://stackoverflow.com/questions/4562859/solving-assembly-not-found-filenotfoundexception-fusion-log –

+0

अद्यतन देखें ..... –

उत्तर

11

प्रवेश नहीं किया है ... फ़ाइल या विधानसभा 'एक्स' या उसके निर्भरता की एक लोड नहीं कर सका ...

सबसे अधिक संभावना यह एक और लोड करने के लिए विफल रहता है निर्भरता।

आप निर्भरता वॉकर के साथ निर्भरताओं की जांच करने का प्रयास कर सकते हैं।

यानी: http://www.dependencywalker.com/

इसके अलावा अपने निर्माण विन्यास (86/64) की जाँच

संपादित करें: मैं भी एक बार जब मैं एक "अविश्वसनीय" साझा नेटवर्क से ज़िप में DLLs को कॉपी किया गया था इस समस्या थी। फ़ाइल को विंडोज़ द्वारा लॉक किया गया था और FileNotFoundException उठाया गया था।

यहाँ देखें: Detected DLLs that are from the internet and "blocked" by CASPOL

+10

निर्भरता वॉकर केवल प्रोफाइल अप्रबंधित कार्यक्रम। –

1

मैं DLL का नाम बदलकर इस समस्या का समाधान। डीएलएल का मैन्युअल रूप से नाम बदल दिया गया था जब इसे अपने साझा स्थान पर अपलोड किया गया था (संस्करण संख्या को फ़ाइल नाम में जोड़ा गया था)। डाउनलोड की गई फ़ाइल से संस्करण संख्या को हटाने से समस्या हल हो गई।

0

मुझे एक ही समस्या थी। मेरे लिए यह प्रोजेक्ट फ़ोल्डर में .vs निर्देशिका को हटाने में मदद करता है।

+0

इससे मेरे मामले में मदद नहीं मिली। – Shimmy

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

  • कोई संबंधित समस्या नहीं^_^