यह एक क्लासिक समस्या है, जिसमें numerous समाधान described हैं। हालांकि, उनमें से कोई भी मेरे लिए काम नहीं कर रहा है।असेंबली पीढ़ी असफल - संदर्भित असेंबली का मजबूत नाम नहीं है। अन्य समाधान क्यों काम नहीं करते हैं?
मैं SharePoint समाधान में Report.NET लाइब्रेरी का उपयोग कर रहा हूं। संदर्भ संदेश के रूप में Reports.dll को जोड़ना और त्रुटि संदेश में संकलन परिणाम "असेंबली पीढ़ी विफल - संदर्भित असेंबली 'रिपोर्ट्स' का कोई मजबूत नाम नहीं है।" हालांकि, मेरी परियोजना में प्रोजेक्ट गुणों में एक key.snk जुड़ा हुआ है। इसलिए मैं, एकत्रित न करें और इस कुंजी फ़ाइल के साथ dll पुनः, के रूप में कहीं और वर्णित करने का प्रयास करें:
C:\Users\Administrator\Documents\Visual Studio 2010\Projects\MyProj
\dll>ildasm Reports.dll /out:Reports.il
C:\Users\Administrator\Documents\Visual Studio 2010\Projects\MyProj
\dll>ilasm Reports.il /dll /resource=Reports.res /key=..\key.snk
<output removed for brevity>
Class 95
Class 96
Method Implementations (total): 1
Resolving local member refs: 0 -> 0 defs, 0 refs, 0 unresolved
Writing PE file
Signing file with strong name
Operation completed successfully
मैं एक नया Reports.dll साथ खत्म करने के लिए अब टाइमस्टैंप। इसे मेरे प्रोजेक्ट और बिल्डिंग के संदर्भ के रूप में जोड़ना, हालांकि, पहले जैसा ही त्रुटि संदेश देता है। "रिपोर्ट्स" संदर्भ के गुण "मजबूत नाम: गलत" प्रदर्शित करता है।
C:\Users\Administrator\Documents\Visual Studio 2010\Projects\MyProj
\dll>sn -R Reports.dll ..\key.snk
Microsoft (R) .NET Framework Strong Name Utility Version 4.0.30319.1
Copyright (c) Microsoft Corporation. All rights reserved.
Assembly 'Reports.dll' successfully re-signed
यह ध्यान देने योग्य है कि एसएन उपयोगिता चलाने त्रुटि संदेश के साथ विफल रहता है हो सकता है:
मुसीबत का एक सा द्वारा हतोत्साहित होता है, क्योंकि मैं मजबूत नामकरण सुविधा का उपयोग विधानसभा में फिर से प्रवेश करने का प्रयास "Reports.dll एक दृढ़ता से नामित असेंबली का प्रतिनिधित्व नहीं करता है" से पहले इसे डिस्सेम्बल/साइन/रीसेम्बल प्रक्रिया से चलाते समय।
हालांकि, जब इसे अलग-अलग/हस्ताक्षर/पुन: वर्गीकरण के बाद चलाया जाता है, तो मुझे विजुअल स्टूडियो में फिर से जोड़ने पर मूल त्रुटि संदेश मिलता है।
के संभावित डुप्लिकेट [विधानसभा बनाना विफल रहा - संदर्भित विधानसभा 'Interop.Office' एक मजबूत नाम नहीं है] (http: // stackoverflow .com/प्रश्न/6845537/असेंबली-पीढ़ी-असफल-संदर्भित-असेंबली-इंटरऑप-ऑफिस-नहीं है) – JabberwockyDecompiler