का संदर्भ नहीं देता, मैं एक अजीब समस्या में चल रहा हूं। मैंने विंडोज रनटाइम कंपोनेंट (विंडोज स्टोर के लिए) बनाया है जो कुछ सी # रैपर वर्गों के माध्यम से .NET को कुछ विरासत सी/सी ++ कोड उपलब्ध कराता है।WinRT घटक लोड नहीं कर सकता जब तक कि मैं प्रोजेक्ट
मैंने एक टेस्ट हार्नेस स्टोर ऐप लिखा (बाद में इसे "test1" कहा जाता है) जो डब्लूआरसी प्रोजेक्ट (एक ही समाधान में दोनों परियोजनाओं) का संदर्भ देता है। यह घटक में कॉल करता है और सब कुछ ठीक काम करता है।
अगला मैं WRC परियोजना से निम्नलिखित उत्पादन फ़ाइलें ले:
MyWrtComponent.dll
MyWrtComponent.exp
MyWrtComponent.pdb
MyWrtComponent.pri
MyWrtComponent.winmd
... और उन्हें किसी अन्य स्टोर एप्लिकेशन परियोजना ("test2") से उपयोग करने के लिए प्रयास करें। इस प्रोजेक्ट में, MyWrtComponent प्रोजेक्ट को संदर्भित करने के बजाय, मैं .winmd फ़ाइल का संदर्भ जोड़ता हूं। सब कुछ ठीक बनाता है, लेकिन जब मैं test2 अनुप्रयोग चलाने मैं जैसे ही मैं सी # MyWrtComponent में लागू वर्गों में से एक का उपयोग करने की कोशिश mscorlib से एक System.IO.FileNotFound अपवाद:
at System.StubHelpers.StubHelpers.GetWinRTFactoryObject(IntPtr pCPCMD)
at MyWrtComponent.MyWrtClass..ctor()
The specified module could not be found.
(Exception from HRESULT: 0x8007007E)
रिहाई बनाम डिबग का उपयोग करना MyWrtComponent का निर्माण कोई फर्क नहीं पड़ता है।
QueryOpen F:\test2\bin\Debug\AppX\vccorlib120d_app.DLL NAME NOT FOUND
QueryOpen F:\test2\bin\Debug\AppX\vccorlib120d_app.DLL NAME NOT FOUND
CreateFile C:\Windows\SysWOW64\vccorlib120d_app.DLL NAME NOT FOUND
मैंने पुष्टि की है कि इस फाइल मौजूद नहीं है:
test2 पर ProcMon चल रहा है, मैं लोड हो रहा है vccorlib120_app.DLL (या vccorlib120d_app.DLL अगर मैं निर्माण कर रहा हूँ डिबग) पर कई असफल प्रयासों को देखने के मेरे सी में: \ विंडोज \ SysWOW64 फ़ोल्डर। मुझे नहीं पता कि यह मेरी समस्या से प्रासंगिक है या नहीं।
जब मैं test1 चलाने के लिए, अलग-अलग स्थानों की खोज कर रहे हैं, और फ़ाइल पाया जाता है:
QueryOpen F:\test1\bin\Debug\AppX\vccorlib120d_app.DLL NAME NOT FOUND
CreateFile C:\Program Files\WindowsApps\Microsoft.VCLibs.120.00.Debug_12.0.20827.3_x86__8wekyb3d8bbwe\vccorlib120d_app.dll SUCCESS
मैं बिन \ दोनों परीक्षण परियोजनाओं के डीबग \ AppxManifest.xml तुलना में, और एक महत्वपूर्ण अंतर पर ध्यान; यह काम करता है मैं test2 के उत्पन्न उत्पादन करने के लिए इन तीन लाइनों को जोड़ने और एप्लिकेशन चलाते हैं
<Dependencies>
<PackageDependency Name="Microsoft.VCLibs.120.00.Debug" MinVersion="12.0.20827.3" />
</Dependencies>
,, लेकिन निश्चित रूप से है कि एक असली ठीक नहीं है: test1 निम्नलिखित है और test2 नहीं करता है।
क्या कोई यह समझता है कि यहां क्या हो रहा है? क्या MyWrtComponent की निर्भरता है कि किसी भी तरह से संवाद नहीं किया जा रहा है, या क्या मुझे अपने रनटाइम घटक के साथ vccorlib120d_app.DLL पैकेज करने के लिए कुछ करना है या ...?
अग्रिम धन्यवाद।
मैंने दोनों उत्तरों को उखाड़ फेंक दिया है, लेकिन मुझे बक्षीस के लिए एक चुनना पड़ा, और राफेल के जवाब में विशिष्ट निर्देश थे जो मेरे लिए सहायक थे। धन्यवाद हंस। –