2012-09-07 12 views
12

मेरे पास WinForms ऐप है जो केवल और .exe फ़ाइल के साथ तैनाती करना वास्तव में आसान होना चाहिए। यह फ्रेमवर्क 2.0 का उपयोग करता है, और इसलिए यह डिफ़ॉल्ट रूप से विंडोज 8 पर काम नहीं करता है। अगर मैं निम्नलिखित मानकों के साथ एक .config फ़ाइल में शामिल हैं, यह W8 पर ठीक काम करता है:क्या मैं .NET में .config फ़ाइल के बिना समर्थित रनटाइम (या कोई अन्य कॉन्फ़िगरेशन पैरामीटर) निर्दिष्ट कर सकता हूं?

<configuration> 
    <startup> 
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0,Profile=Client"/> 
    <supportedRuntime version="v2.0.50727"/> 
    </startup> 
</configuration> 

हालांकि, अब मैं दो फ़ाइलों को तैनात करने की है और इस स्वीकार्य नहीं है। क्या कुछ चीजें मैं उन पैरामीटर को "एम्बेड" करने के लिए कर सकता हूं?

मैंने WinZip स्वयं निकालने का उपयोग करने का प्रयास किया है, लेकिन यह कोई विकल्प नहीं है, क्योंकि मैं इसके इंटरफ़ेस को कस्टमाइज़ नहीं कर सकता।

उत्तर

12

.NET निष्पादन योग्य में मूल कोड का छोटा टुकड़ा होता है, जिसका उद्देश्य एक प्रक्रिया में उपयुक्त सीएलआर संस्करण लोड करना है।

लोडर कॉल शिम CLR (v4 में CLRCreateInstance) लोड करने के लिए (mscoree.dll, .NET निष्पादन इस DLL से देशी निर्भरता है)।
<startup> कॉन्फ़िगरेशन तत्व की सामग्री शिम द्वारा संसाधित की जाती है।

इसका मतलब है, आप इस कोड में <startup> तत्व को संसाधित नहीं कर सकते हैं, क्योंकि इस समय कोई सीएलआर (और कोई प्रबंधित कोड नहीं) है। एकमात्र तरीका अपना स्वयं का सीएलआर होस्ट लिखना है। मुझे लगता है, कॉन्फ़िगरेशन फ़ाइल के साथ अपने एप्लिकेशन को शिप करना बहुत आसान है, या .NET 4/4.5 के लिए एक संस्करण बनाना है।

+0

धन्यवाद डेनिस, कि था उपयोगी – rgargente

+1

आप निश्चित रूप से सही है कि जानकारी को नियंत्रित करने नेट संस्करण में कामयाब रहे कुछ भी की मदद के बिना मूल कोड में संसाधित किया जाना है कर रहे हैं। लेकिन तब आप एक छलांग वहाँ से कॉन्फ़िग फ़ाइल के लिए, बनाने के रूप में अगर मूल कोड केवल और config फ़ाइलों को पढ़ने के लिए अनुमति नहीं (उदाहरण के लिए) है पीई शीर्ष लेख या प्रकट संसाधन .exe में संग्रहीत शायद तुम सही हो और कॉन्फ़िग फ़ाइल जरूरत है, लेकिन अगर ऐसा है, वह यह है कि क्योंकि शिम को कोडित है केवल एक देशी शिम कि exe फ़ाइल की जाँच करता है बनाने में किसी भी तकनीकी कठिनाई की वजह से कॉन्फ़िग फ़ाइल पढ़ा है, और नहीं। –

0

मैं एक जवाब अपने आप को पोस्ट करेंगे। आईईएक्सप्रेस, विंडोज़ के साथ, वह समस्या के लिए एक अच्छा समाधान की तरह लगता है।

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

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