2012-05-08 28 views
7

मुझे इसके बारे में एमएसडीएन पर कोई स्पष्ट बयान नहीं मिला, कुछ ऐसे उदाहरण हैं जिनके साथ मजबूत नाम अन्य हैं, मेरे लिए ऐसा लगता है कि इसे बिना काम किए बल्कि काम नहीं करना चाहिए।क्या सी # में मजबूत नामित असेंबली के बिना आंतरिक VisibleTo का उपयोग कर सकते हैं?

धन्यवाद

उत्तर

10

documentation काफी स्पष्ट है:

दोनों वर्तमान विधानसभा और दोस्त विधानसभा अहस्ताक्षरित होना चाहिए, या दोनों एक मजबूत नाम के साथ हस्ताक्षर किया जाना चाहिए। अगर वे मजबूत नाम से हस्ताक्षरित हैं, तो InternalsVisibleToAttribute कन्स्ट्रक्टर के लिए तर्क में पूर्ण सार्वजनिक कुंजी के साथ-साथ असेंबली का नाम शामिल होना चाहिए।

क्या पूर्ण सार्वजनिक कुंजी साधन का एक उदाहरण के लिए this answer देखें।

+0

उत्तर के लिए धन्यवाद, जो मैं दस्तावेज से भी समझता हूं, लेकिन फिर भी किसी कारण से यह काम नहीं कर रहा है। मुझे पता है कि पूर्ण सार्वजनिक कुंजी का क्या अर्थ है, लेकिन मैं सभी डीएलएल में सार्वजनिक कुंजी को एकीकृत करने के बजाय आंतरिक मेथोड का पर्दाफाश करना पसंद करूंगा, मुझे बिना किसी सार्वजनिक कुंजी के विकल्प को – CloudyMarble

+4

के बारे में बहुत मददगार लगता है, अगर आप पूर्ण सार्वजनिक कुंजी निर्दिष्ट नहीं करना चाहते हैं, तो * दोनों * असेंबली को हस्ताक्षर नहीं किया जाना चाहिए। क्या यह मामला है? यह भी सावधान रहें कि '[असेंबलीकेफाइल]' और '[असेंबलीकेनीनाम]' विशेषताएं, यहां तक ​​कि खाली, की उपस्थिति '[आंतरिक दृश्यमान]] के साथ गड़बड़ कर सकती है, [इस उत्तर] के रूप में (http://stackoverflow.com/a/3594856/ 46470 9) बताता है। –