我正在使用Moq作为我的单元测试的模拟库。
似乎很难找到温莎城堡图书馆,因为它给了我这个错误:
System.TypeInitializationException : Une exception a été levée par l'initialiseur de type pour 'Moq.Mock`1'.
----> System.TypeInitializationException : Une exception a été levée par l'initialiseur de type pour 'Moq.Proxy.CastleProxyFactory'.
----> System.IO.FileNotFoundException : Impossible de charger le fichier ou l'assembly 'Castle.Core, Version=3.3.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc' ou une de ses dépendances. Le fichier spécifié est introuvable.
à Moq.Mock`1.<InitializeInstance>b__24_0()
à Moq.PexProtector.Invoke(Action action)
à Moq.Mock`1.InitializeInstance()
à Moq.Mock`1.OnGetObject()
à Moq.Mock.GetObject()
à Moq.Mock.get_Object()
à Moq.Mock`1.get_Object()
à TecLib.Common.Tests.Infrastructure.CqrsRepositoryBaseTest.SetUp() dans C:\Users\Ludovic\Documents\Visual Studio 2015\Projects\TEC2\TecLib.Common.Tests\Infrastructure\CqrsRepositoryBaseTest.cs:ligne 38
--TypeInitializationException
à Moq.Proxy.CastleProxyFactory..ctor()
à Moq.Mock`1..cctor()
--FileNotFoundException
à Moq.Proxy.CastleProxyFactory..cctor()这是触发错误的测试之一。代码运行得很好。正是Moq库触发了错误,因为由于某些原因,它似乎无法找到城堡温莎库。
[SetUp]
public void SetUp()
{
_eventStore = new Mock<IEventStore>();
_eventDispatcher = new Mock<IEventDispatcher>();
_entityFactory = new Mock<IEntityFactory>();
_repository = new CqrsAddressRepository(_entityFactory.Object, _eventStore.Object, _eventDispatcher.Object);
_addressInfo1 = new AddressInfo("400 chemin Jette", "", "", "Farnham", "J0J2B0", "Quebec", "Canada");
_addressInfo2 = new AddressInfo("322 rue Principale E", "", "", "Farnham", "J2N1L7", "Quebec", "Canada");
}这是我那个项目的包
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Castle.Core" version="3.3.3" targetFramework="net461" />
<package id="Castle.Windsor" version="3.3.0" targetFramework="net461" />
<package id="Moq" version="4.5.21" targetFramework="net461" />
<package id="NUnit" version="3.4.1" targetFramework="net461" />
</packages>这些测试以前效果很好。我不知道是什么改变了他们现在抛出这个错误。
也许安装了4.6.1 .net框架?
请帮帮我!
发布于 2016-09-13 14:13:43
您的错误消息是:
Version=3.3.0.0,System.IO.FileNotFoundException :不可能的充电器和组装的Castle.Core,Culture=neutral,PublicKeyToken=407dd0808d44fbdc‘ou une de ses .可供参考。
但是,您的包具有以下配置:
<package id="Castle.Core" version="3.3.3" targetFramework="net461" />发布于 2017-05-11 11:21:23
发布于 2017-01-16 13:20:30
我遇到了一个与您的问题非常相似的问题,唯一的区别是我已经构建了一个自定义库来在我的解决方案中生成几个假的业务模拟,以便在另一个测试中重用它。
我不知道如何在我的一个单元测试项目中出现一个旧版本的Moq的dll作为参考。
这就是解决我问题的原因:
https://stackoverflow.com/questions/39470613
复制相似问题