2016-11-08 10 views
5

.NET फ्रेमवर्क में हम प्रयोग कर विधानसभा शुरू कर प्राप्त कर सकते हैं:.NET कोर में Assembly.GetEntryAssembly() के बराबर क्या है?

Assembly.GetEntryAssembly(); 

लेकिन जो .NET कोर से हटा दिया है। इसके अलावा कोई ऐपडोमेन नहीं है। मैं .NET कोर और विंडोज यूनिवर्सल अनुप्रयोगों में एंट्री असेंबली तक कैसे पहुंच सकता हूं?

+0

Assembly.GetExecutingAssembly कोशिश() –

+0

यही तो मौजूद नहीं है। उन स्थिर तरीकों को असेंबली कक्षा से .NET कोर में हटा दिया गया है! – Paymon

उत्तर

0

मैंने पुस्तकालय में प्रवेश असेंबली इंजेक्शन समाप्त कर दिया।

पुस्तकालय में:

class AssemblyHelper 
{ 
    // This can be called instead of Assembly.GetEntryAssembly() 
    public static Func<Assembly> GetEntryAssembly; 
} 

स्टार्ट-अप आवेदन में (जो लाइब्रेरी का उपयोग करता):

class Program 
{ 
    public static void Main() 
    { 
     AssemblyHelper.GetEntryAssembly =() => typeof(Program).GetAssembly(); 

     .... 
    } 
} 
+0

अफसोस की बात यह है कि यह पुस्तकालय में काम नहीं करता है जो 'कार्यक्रम' के बारे में कुछ नहीं जानता है। –

+0

सच है। लेकिन आप असेंबली इंजेक्शन देने का तरीका प्रदान कर सकते हैं और अपने पुस्तकालय के उपयोगकर्ताओं के लिए "सेटअप दस्तावेज" जोड़ सकते हैं ताकि वे अपने स्वयं के कार्यक्रम में उपरोक्त कोड जोड़ सकें। आदर्श नहीं, लेकिन करने योग्य। – Paymon

6

Assembly.GetEntryAssembly()नेट स्टैंडर्ड 1.5 में उपलब्ध है (मैं अपने एम्बेडेड संसाधन कुंजी के सभी खोजने की जरूरत है), लेकिन संस्करणों 1.0 1.4 के माध्यम से में नहीं। यदि आप केवल .NET कोर और यूनिवर्सल विंडोज अनुप्रयोगों का विकास कर रहे हैं, तो संस्करण 1.5 आपकी आवश्यकताओं के लिए पर्याप्त होना चाहिए।

यदि मुझे सही याद है, AppDomain.NET मानक 2.0 में दिखाई देने के लिए नियत है। यह अब उपलब्ध नहीं है।

+0

आपके सुझाव के लिए धन्यवाद। लेकिन मेरी लाइब्रेरी को आईओएस और एंड्रॉइड के लिए ज़ैमरिन के बीच भी साझा किया जाता है जो मोनो का उपयोग करता है। – Paymon

+2

जहां तक ​​मुझे पता है, एक्समरिन आईओएस और एंड्रॉइड * .NET मानक 1.5 * असेंबली का उपयोग करने में भी सक्षम होना चाहिए। –

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