मैंने देखा कि माइक्रोसॉफ्ट ओपन-सोर्स IL2JS है, जो आईएल संकलन के माध्यम से सिल्वरलाइट अनुप्रयोगों को शुद्ध जावास्क्रिप्ट में संकलित करने का एक उपकरण प्रतीत होता है।मैं आईएल 2 जेएस को सही तरीके से कैसे आमंत्रित करूं?
हालांकि, मुझे यह काम करने के लिए प्रतीत नहीं होता है। जब मैं चलाएँ:
पुनश्च C: \ स्रोत \ IL2JS मास्टर \ बिन> ./il2jsr -rewrite C: \ FlatRedBallProjects \ Test1 \ ते st1 \ Test1 \ बिन \ डीबग \ Test1.dll आउट परीक्षण .js -reference \ IL2JS_mscorlib.dll
जब मैं इस चलाने मैं
त्रुटि 3003 मिलती है:। कोई विधानसभा नाम विशेष 'JSTypes' विधानसभा मची 1 त्रुटियों, 0 चेतावनी
तो मैं jstypes के लिए एक और -reference विकल्प जोड़ने की कोशिश की है और निम्नलिखित उत्पादन मिल गया:
पुनश्च C: \ स्रोत \ IL2JS मास्टर \ बिन> ./il2jsr -rewrite C: \ FlatRedBallProjects \ Test1 \ Test1 \ test1 \ Bin \ Debug \ Test1.dll -out test.js -reference। \ IL2JS_mscorlib.dll -reference। \ IL2JS_JSTypes_silverlight.dll
त्रुटि 3005: फ़ाइल 'C: \ source \ IL2JS से असेंबली लोड करने में असमर्थ -मास्टर \ bin ': mscorlib 1 त्रुटियों को लोड नहीं कर सकता, 0 चेतावनियां
तो ऐसा लगता है आपके पास केवल एक-रेफरेंस विकल्प हो सकता है, लेकिन आपको किसी भी तरह jstypes और mscorlib असेंबली दोनों को संदर्भित करने की आवश्यकता है।
मैं क्या गलत कर रहा हूं?
संपादित: तो कुछ और डिबगिंग के बाद यह ऐसा करने का सही तरीका की तरह लगता है 2 -reference तर्क का प्रयोग है। उत्तरार्द्ध क्यों काम नहीं करता है
CCI.SystemTypes.Initialize(false, true, ResolveReference);
// ----------------------------------------
// Account for mscorlib being loaded
// ----------------------------------------
mscorlib = CCI.SystemTypes.SystemAssembly;
if (mscorlib == null || mscorlib.Directory == null)
AssemblyLoader.cs
में। आखिरी अगर स्टेटमेंट विफल रहता है (mscorlib.Directory
शून्य है)। अब सवाल है, क्यों ...