我正在尝试在ASP.Net 5.0项目中使用AutoFixture.AutoMoq 3.40.0
和Moq 4.2.1510.2205
,但我遇到了问题;
The dependency moq >= 4.1.1308.2120 could not be resolved.
这很奇怪,因为AutoFixture.AutoMoq依赖于moq (>= 4.1.1308.2120)
(请参阅https://www.nuget.org/packages/AutoFixture.AutoMoq),因此应该与Moq 4.2.x
一起使用(不应该这样) ?)
我创建了一个新的空项目,并添加了两个依赖项以将问题减少到其核心。
Project.json看起来像这样;
{
"version": "1.0.0-*",
"description": "DependencyTest Console Application",
"compilationOptions": {
"emitEntryPoint": true
},
"dependencies": {
"Moq": "4.2.1510.2205",
"AutoFixture.AutoMoq": "3.40.0"
},
"commands": {
"DependencyTest": "DependencyTest"
},
"frameworks": {
"dnx451": {}
}
}
一旦我尝试构建这个空的项目,我就会收到上述错误。如果我删除project.json中对Moq
的引用(或将其指向4.1.x版本),则编译。不幸的是,我尝试使用的代码库已经使用了Moq 4.2中的功能。
查看project.lock.json
它看起来就像> =对Moq 4.1的依赖被转换为4.1的固定依赖关系,这意味着依赖关系的工作方式存在问题通过dotnet出来?
我尝试更改project.json中列出的包的顺序,尝试使用dnu restore
并尝试删除roaming/nuget/nuget.config
,但都无济于事。