2012-11-08 13 views
5

द्वारा उल्लंघन किया गया है, मैं MoqMocking कर्नेल क्लास का उपयोग करने का प्रयास करता हूं। (Ninject.Mocking कर्नेल.एमओक्यू) एक इकाई परीक्षण के लिए Ninject.Mocking कर्नेल एक्सटेंशन से। मैं निम्न त्रुटि हो रही हैMoqMocking कर्नेल: System.TypeLoadException: विरासत सुरक्षा नियम

MoqMockingKernel आरंभ में:

System.TypeLoadException: System.TypeLoadException: Inheritance security rules violated by type: 'Ninject.MockingKernel.MockingKernel'. Derived types must either match the security accessibility of the base type or be less accessible..

मेरे आरंभ कोड:

 private MoqMockingKernel mockingKernel; 
     private Mock<IUnitOfWork> unitOfWorkMock; 
     private IExternalServiceRepository externalServiceRepository; 

     [TestInitialize] 
     public void Initialize() 
     { 
      this.mockingKernel = new MoqMockingKernel(); 
      this.mockingKernel.Bind<IUnitOfWork>().ToMock(); 

      this.unitOfWorkMock = this.mockingKernel.GetMock<IUnitOfWork>(); 

      externalServiceRepository = new ExternalServiceRepository { Kernel = this.mockingKernel }; 
     } 

मैं इस TypeLoadException हल कर सकते हैं?

उत्तर

4

क्या आप नेट फ्रेमवर्क> = 4.0 का उपयोग कर रहे हैं?

देखें इस conversation

मैं उन निर्देशों से सलाह ले लिया: मैं परियोजनाओं Ninject.MockingKernel और Ninject.MockingKernel.Moq में AssemblyInfo.cs को यह लाइन

[assembly: System.Security.SecurityRules(System.Security.SecurityRuleSet.Level1)]

जोड़कर MockingKernel स्रोत कोड को संशोधित किया। फिर मैंने समाधान को पुनः संकलित किया, स्थापित डीएलएल और मेरा कोड काम करना शुरू कर दिया!

मुझे आशा है कि यह आपके लिए चाल है।

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