6

MoqMockingKernel クラスを使用しようとしています。(Ninject.MockingKernel.Moq) 単体テスト用の Ninject.MockingKernel 拡張機能から。

MoqMockingKernel の初期化時に、次のエラーが発生します。

System.TypeLoadException: System.TypeLoadException: タイプによって違反された継承セキュリティ ルール: 'Ninject.MockingKernel.MockingKernel'。派生型は、基本型のセキュリティ アクセシビリティと一致するか、アクセスしにくくする必要があります。

私の初期化コード:

        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

1 に答える 1

5

.Net Framework> = 4.0を使用していますか?

この会話を見る

私はそれらの指示からアドバイスを受けました:私はこの行を追加することによってMockingKernelソースコードを変更しました

[アセンブリ:System.Security.SecurityRules(System.Security.SecurityRuleSet.Level1)]

プロジェクトNinject.MockingKernelおよびNinject.MockingKernel.MoqのAssemblyInfo.csに。次に、ソリューションを再コンパイルし、dllをインストールすると、コードが機能し始めました。

これがあなたの秘訣だといいのですが。

于 2013-02-25T05:31:04.413 に答える