2013-11-22 3 views
5

मैंने इन instructions के बाद कुछ दिनों पहले एमवीसी 5 में एमवीसी 4 ऐप को अपग्रेड किया था और अब मुझे निम्न त्रुटि मिल रही है। मैंने Nuget (v4.3.3.13295) का उपयोग कर नवीनतम बिट्स पर DotNetOpenAuth को अद्यतन किया लेकिन यह अभी भी इस त्रुटि को फेंकता है।व्युत्पन्न प्रकारों को या तो मूल प्रकार की सुरक्षा पहुंच से मेल खाना चाहिए या कम पहुंच योग्य

मैं इसे कैसे ठीक करूं?

विरासत सुरक्षा नियमों प्रकार से उल्लंघन किया: 'DotNetOpenAuth.Messaging.OutgoingWebResponseActionResult'। व्युत्पन्न प्रकार या तो मूल प्रकार की सुरक्षा पहुंच या से कम पहुंच योग्य होना चाहिए।

उत्तर

5

अंततः इसे हल किया गया। बाहर निकला कि मुझे DotNetOpenAuth के स्रोत कोड में कुछ बदलाव करने की आवश्यकता है और इसे फिर से संकलित करें। यह आसान नहीं था क्योंकि स्रोत कोड github से डाउनलोड करने के बाद संकलित नहीं होगा। मुझे विभिन्न चीजों की कोशिश करने में ~ 3 दिन खर्च करना पड़ा और निर्माण प्रणाली को डॉटनेट ओपेनएथ की प्रोजेक्ट फाइलों में मिलाकर सीखना पड़ा जब तक कि मुझे अंततः इसे संकलित नहीं किया गया। ऐसा लगता है कि इस परियोजना के लेखक ने इसे छोड़ दिया है। इस समस्या here के बारे में और देखें।

  1. इस कमांड लाइन का उपयोग कर 4.3 कोड बेस डाउनलोड करें: Git क्लोन बी v4.3 https://github.com/DotNetOpenAuth/DotNetOpenAuth.git
  2. संपादित /src/version.txt और 4.4.0 के लिए इसे बदल। यह इस संस्करण को आधिकारिक Nuget रिलीज से अधिक बनाता है ताकि Nuget संकुल को संस्थापित करने से DotNetOpenAuth विधानसभाओं के पुराने संस्करणों को स्थापित करने का प्रयास न करें।
  3. विधानसभाInfo.cs/src/ निर्देशिका के अंतर्गत निम्न स्ट्रिंग के सभी उदाहरणों को हटाएं।

    [विधानसभा: AllowPartiallyTrustedCallers]

  4. मैं गड़बड़ करने के लिए चारों ओर दो परियोजनाओं में Microsoft.Contracts संदर्भ में था और /tools/Contracts/PublicAssemblies/v3.5/Microsoft पर इंगित करें। Contracts.dll और उसके बाद इस असेंबली से कक्षाओं को ठीक से हल करने के लिए उपनाम का उपयोग कर उपयोग करें। sn.exe -Vr *,2780ccd10d57b246

: कुछ Requires.NotNull() लाइनों को संकलित करने से इनकार कर दिया तो मैं बस उन्हें बाहर निम्न आदेश इन विधानसभाओं के सत्यापन छोड़ने टिप्पणी की ... होड़ करना c'est ला ..

  • भागो

    एक बार विधानसभाओं का निर्माण किया गया मैं उन संदर्भित, Nuget से फिर से जोड़ा Microsoft.AspNet.WebPages.OAuth 3.0, मेरे समाधान फिर से बनाया, और अंत में मेरी एप्लिकेशन और MVC 5. पर चल रहा है

  • +0

    आप के लिए बहुत बहुत धन्यवाद इसे साझा करते हुए, मुझे कई समस्या से बचाया सुश्री। मुझे मजबूत नाम सत्यापन का उपयोग करना पड़ा: sn.exe -Vr "*, 2780ccd10d57b246" – eadam

    +1

    मुझे इसे दुर्भाग्य से चलाने के लिए भी था। इसे ऊपर मेरे उत्तर में जोड़ा गया।मजबूत नामकरण कुंजी फ़ाइलों को पासवर्ड से एन्क्रिप्ट किया जाता है ताकि आप वास्तविक सौदे के रूप में आउटपुट को फिर से संकलित और पास नहीं कर सकें। समझ में आता है, लेकिन अगर परियोजना को त्याग दिया जाता है तो यह अच्छा होगा अगर लेखक कुंजी को अन-एन्क्रिप्ट करना था ताकि कोई मशाल उठा सके। – TugboatCaptain

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