7

काम नहीं कर रहा।InternalsVisibleTo विशेषता

[assembly: InternalsVisibleTo("Stuff.Test.Support, PublicKey="0024000004800000940000000302000000240000525341310004000001000100d158cd56401c3d90b52ca1a5f273d608c3ce12aaa21385b0f4ad7dc1b747e45ee1f1771c104c52cb4da1b587ae38b6d36fa1d8e8f14003c42f700bc62ef2ec04b231c5d930e4bc3691aa1ef7b6713926316d4be1165ede086e94190b44edd4ad0d024230ae6eb9deb728b00d71d1d468b20a9bb78f242bd6c41e640c2e5c0cd5")] 

आंतरिक सामग्री के साथ गुण/AssemblyInfo.cs फ़ाइल में मैं एक्सेस करना चाहता हूं। इसे जांचने से पहले यह काम कर रहा था। लेकिन टीम फाउंडेशन आईडीके डब्ल्यूटीएफ पर विलय करने के बाद गलत है, लेकिन मेरी असेंबली इनफॉर्म्स की तरह यह विशेषता नहीं देखती है, लेकिन मैंने सत्यापित किया है कि फ़ाइल में कुछ भी नहीं बदला है, लेकिन फिर भी मुझे "innaccessable due to its protection level." त्रुटि मिलती है। (गामा विकिरण? Sunspot? थोड़ा बुराई gnome इसके कि कीड़े को प्रशिक्षित काम नहीं कर कोड में कोड काम कर tweek करने lol)

मैं सिर्फ प्रतिबिंब का उपयोग व्यक्तिगत उदाहरणों को जोड़ने की कोशिश की है ...

Assembly Core = Assembly.LoadFile("C:\Stuff.Internal.Core\bin\Debug\Stuff.Internal.Core.dll"); 

Object AssmWithIdentifier = Core.CreateInstance("AssemblyWithIdentifer", false); 

जब मैं प्रयास यह मुझे 'Stuff.Internal.AssemblyWithIdentifer' is inaccessible due to protection level.

अन्यथा अगर मैं आंतरिक सामग्री के साथ कुछ भी करने की टिप्पणी करता हूं तो मेरी परियोजना ठीक से संकलित होती है।

मैं दोगुना लाल गेट्स परावर्तक

साथ की जाँच की मेरी "PublicKey" और मैं भी privateObjects उपयोग करने के लिए संभवतः एक्सेस विधियों कि जिस तरह से है, लेकिन कोई फर्क नहीं पड़ता कि कैसे मैं मैं कुछ भी आंतरिक का दृष्टांत नहीं कर सकते हैं की कोशिश की कोशिश की है।

मैंने किसी भी संदर्भ को संकलित करने और वास्तव में काम करने के लिए एक नई परियोजना को जोड़ने का भी प्रयास किया है, लेकिन इसके बाद मैंने एक नई परियोजना बनाने और संदर्भों को शामिल करने के लिए "Stuff.Test.Support" प्रोजेक्ट में सभी सामान जोड़ने का प्रयास किया। और जैसे और उस में AssemblyInfo.cs में नहीं जोड़ परियोजना है कि मैं का उपयोग करना चाहते हैं, लेकिन, एक बार मुझे लगता है मैं एक ही त्रुटि मिलती है संकलन करने का प्रयास "innaccessable due to its protection level."

संपादित करें: मैं भूल गए मैं कर रहा हूँ का उल्लेख एक sharedAssembly.cs का उपयोग करके जो विश्व स्तर पर असेंबली का प्रबंधन करता है और उदाहरण के लिए assembly: InternalsVisibleTo विशेषता के समान रूप में स्थापित कई विशेषताओं को मैंने इस प्रश्न की शुरुआत में दिखाया है । मैं मजबूत नामांकित असेंबली का भी उपयोग कर रहा हूं अगर ऐसा कुछ मेरे उदाहरण से प्रमुख नहीं है।

+2

अरे, शायद आपको उस परियोजना से वर्कफ़्लो परिभाषाओं को हटा देना चाहिए! कोशिश करो। – Will

+0

ओएमजी जो काम करता है। शायद आपको इसे एक उत्तर के रूप में रखना चाहिए ताकि आप वास्तव में इसके लिए कुछ क्रेडिट प्राप्त कर सकें। – Terrance

उत्तर

4

वर्कफ़्लो परिभाषाएं विसंगति पैदा कर रही हैं। अभी भी यह पता लगाने की कोशिश कर रहा है कि क्यों .....
ठीक है अगर कोई यह बताता है कि कोई मुझे +1 क्यों प्राप्त करेगा।

+2

इसे ठीक करने के लिए आपने क्या किया? –

+0

मैंने प्रोजेक्ट में सभी वर्कफ़्लो डीफ़ को हटा दिया। सबसे अच्छा जवाब नहीं है लेकिन यह अब काम करता है। और इसके लिए माइक्रोसॉफ्ट के लिए वर्तमान में एक बग रिपोर्ट है। और लिंक https://connect.microsoft.com/VisualStudio/feedback/details/588710/internalsvisibleto-fails-when-mixed-with-wf4-0-activity-definitions-and- कस्टम-activities – Terrance

+0

वर्कफ़्लो कैसे निकलता है परिभाषाएं ??? – RouR

2

1) यदि आंतरिक दृश्यमान सही ढंग से स्थापित किया गया है, तो आपको उन्हें 'मित्र' से तुरंत चालू करने के लिए प्रतिबिंब की आवश्यकता नहीं है, यह केवल सीटीओआर और सीधे की तरह उपयोग कर सकता है। मैं इस मार्ग पर जाऊंगा ताकि वीएस आईडीई आपको तेजी से प्रतिक्रिया दे सके कि आंतरिक लक्ष्य लक्ष्य परियोजना के लिए वास्तव में दिखाई दे रहे हैं या नहीं।

2) बाद में प्राप्त त्रुटि संदेश के अनुसार, क्या आपने InternalsVisibleTo ("Stuff.Test.Support") को आजमाया है?

+0

1) मैंने आंतरिक दृश्यों का उपयोग करने के विकल्प के रूप में प्रतिबिंब का उपयोग करने का प्रयास किया है क्योंकि यह वर्तमान में काम नहीं कर रहा है। मैं वर्तमान में प्रतिबिंब के साथ झुका रहा हूं और देख रहा हूं कि कुछ ऐसा है जो मुझे याद आया। 2) मैं वर्तमान में मजबूत नामित असेंबली का उपयोग कर रहा हूं इसलिए मुझे त्रुटि मित्र असेंबली संदर्भ 'Stuff.Tests.Support' अमान्य है। मजबूत नाम पर हस्ताक्षरित असेंबली को अपने आंतरिक दृश्यों में सार्वजनिक कुंजी निर्दिष्ट करनी होगी। \t क्षमा करें मैंने अपने सेटअप के बारे में कुछ और जानकारी देने के लिए बस मेरे प्रश्न को संशोधित किया। तो शायद यह आपको बेहतर मदद कर सकता है। – Terrance

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