.net loadFromRemoteSources.LoadFrom का उपयोग कर त्रुटि त्रुटि



vb.net .net-4.0 (3)

जॉन पर Piggybacking, मुझे इस समस्या थी, लेकिन कई अलग-अलग फ़ोल्डरों में कई असेंबलियों के साथ। मैंने फ़ाइलों को सामूहिक रूप से अनब्लॉक करने के लिए सिसिनेटर्स से स्ट्रीम डाउनलोड की मुझे इस विषय के बारे में सुपर यूजर पर अच्छी चर्चा मिली।

Sysinternals सुपर उपयोगकर्ता चर्चा से स्ट्रीम

मेरे पास एक .Net 4 Winforms ऐप में निम्न कोड है जो एक विधानसभा को लोड करता है। सभी फाइलें सी: पर हैं। कई DLL हैं जो निम्न के साथ ठीक काम करते हैं लेकिन दो त्रुटि:

एक नेटवर्क स्थान से विधानसभा को लोड करने का प्रयास किया गया था, जिसने असेंबली को एनएटी फ्रेमवर्क के पिछले संस्करणों में सैंडबॉक्स्ड बनाया है। .NET फ़्रेमवर्क की यह रिलीज़ सीएएस नीति डिफ़ॉल्ट रूप से सक्षम नहीं करता, इसलिए यह लोड खतरनाक हो सकता है। यदि यह लोड सैंडबॉक्स असेंबली के लिए अभिप्रेत नहीं है, तो कृपया सक्षम करें loadFromRemoteSources स्विच अधिक जानकारी के लिए http://go.microsoft.com/fwlink/?LinkId=155569 देखें।

यह केवल कुछ पीसी पर एक समस्या है

यहां कोड है:

strDLLs = Directory.GetFileSystemEntries(strPath, "*.dll")
For intIndex = 0 To strDLLs.Length - 1
    Try
        objDLL = [Assembly].LoadFrom(strDLLs(intIndex))
        ExamineAssembly(objDLL, strInterface, Plugins)

    Catch e As Exception
        ' MsgBox("Error whilst loading Library: " & strDLLs(intIndex) & ". Reported Error was:" & vbCrLf & e.ToString)
    End Try
Next

Answer #1

अच्छी तरह से मुद्दा निकलता है क्योंकि फ़ाइल संभवतः इंटरनेट से डाउनलोड की गई थी।

ठीक क्लिक करने के लिए -> गुण -> अनब्लॉक करें


Answer #2

क्लाइंट साइड पर क्लिक करने के बिना, मैं इसे काम करने में कामयाब रहा हूं:

var appDomain = AppDomain.CreateDomain(assemblyName);
var assembly = appDomain.Load(File.ReadAllBytes(assemblyName));

ध्यान रखें कि यदि आप साक्ष्य पैरामीटर के साथ CreateDomain बनाते हैं, तो आपको 'यह विधि सीएएस नीति का उपयोग करती है, जो .NET ढाँचा द्वारा अप्रचलित हो गई है।' संदेश।

वैकल्पिक रूप से, आप एक उचित सैंडबॉक्स सेट कर सकते हैं:

http://msdn.microsoft.com/en-us/library/bb763046.aspx http://blogs.msdn.com/b/shawnfa/archive/2005/08/08/449050.aspx





code-access-security