का उपयोग करने का प्रयास करते समय StrongNameKeyPair समस्या I इकाई परीक्षण के लिए एक नकली HttpContextBase बनाने की कोशिश कर रहा हूं।MoQ
var fakePrinciple = new GenericPrincipal(
new GenericIdentity(userId),
rolesList.ToArray());
var mockHttpContext = new Mock<HttpContextBase>();
mockHttpContext.Setup(t => t.User).Returns(fakePrinciple);
HttpContextBase mockedContext = mockHttpContext.Object;
इकाई परीक्षण
के साथ पिछले बयान पर विफल रहता है फेंक दिया अपवाद: System.ArgumentException: करने में असमर्थ StrongNameKeyPair के लिए सार्वजनिक कुंजी प्राप्त ..
System.Reflection.StrongNameKeyPair .nGetPublicKey (बूलियन निर्यात, बाइट [] सरणी, स्ट्रिंग कंटेनर) सिस्टम। रिफ्लेक्शन .trongNameKeyPair.get_PublicKey() System.AppDomain.InternalDefineDynamicAssembly (AssemblyName नाम, AssemblyBuilderAccess का उपयोग, स्ट्रिंग dir, साक्ष्य सबूत, PermissionSet requiredPermissions, PermissionSet optionalPermissions, PermissionSet refusedPermissions, StackCrawlMark & stackMark, IEnumerable`1 unsafeAssemblyAttributes) System.AppDomain। DefineDynamicAssembly (AssemblyName नाम, AssemblyBuilderAccess पहुँच) Castle.DynamicProxy.ModuleScope.CreateModule (बूलियन signStrongName) Castle.DynamicProxy.ModuleScope.ObtainDynamicModuleWithStrongNam ई() Castle.DynamicProxy.ModuleScope.ObtainDynamicModule (बूलियन isStrongNamed) Castle.DynamicProxy.Generators.Emitters.ClassEmitter.CreateTypeBuilder (ModuleScope modulescope, स्ट्रिंग नाम, प्रकार (blah blah स्निप)
मैं googled और यहाँ सुझाव काम करने के लिए नहीं है (परिवर्तन आरएसए फ़ोल्डर सुरक्षा आदि की स्थापना) http://groups.google.com.br/group/castle-project-users/browse_thread/thread/85685cf32a795158
हूँ मुझे लगता है कि करने के लिए है कि क्योंकि HttpContextBase
System.Web.Abstraction
का हिस्सा है, जो एक पर हस्ताक्षर किए विधानसभा है सही करें। Moq वास्तव में गतिशील असेंबली पर हस्ताक्षर करने का प्रयास करेंगे, और असफल?
Fwiw, मैं HttpContextBase उपहास करने के लिए समय की बहुत सारी Moq का इस्तेमाल किया है और कहा कि इस मुद्दे को नहीं था।जो भी आपकी समस्या है, यह Moq और HttpContextBase के संयोजन के लिए सामान्य नहीं है। –
चाल यह है कि अनुमतियाँ मशीनकेस फ़ोल्डर पर सेट करने की आवश्यकता नहीं है RSA। यदि आप सावधान पाठक नहीं हैं तो Ayende की पोस्ट यह पूरी तरह से स्पष्ट नहीं करती है। –
मुझे खुशी है कि मैंने यह पाया, दो दिन, अंत में तय: डी। बस कुछ और संदर्भ जोड़ना चाहते थे जो मेरी मदद करते थे, अगर कोई और इसमें भाग लेता है: http://ansaurus.com/question/3154345-strong-name-keys-on-windows-7 | http://msdn.microsoft.com/en-us/library/bb909654(v=vs.90).aspx वास्तव में मुझे मेरे लिए काम करने वाले फ़िक्स पर शून्य में मदद मिली। –