我试图在一个AutoFixture.AutoMoq 3.40.0 5.0项目中与Moq 4.2.1510.2205一起使用ASP.Net,但我遇到了这个问题;
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": {}
}
}一旦我试图构建这个否则为空的项目,我就会得到上面的错误。如果我在Moq中删除对project.json的引用(或将其指向4.1.x版本),那么它将编译。不幸的是,我正在尝试的代码库已经使用了Moq4.2中的特性。
在project.lock.json中,似乎Moq4.1上的>=依赖被转换成了4.1上的固定依赖,这意味着dotnet如何解决依赖关系存在问题?
我试图更改包在project.json中列出的顺序,尝试使用dnu restore并尝试删除roaming/nuget/nuget.config,但都没有效果。
发布于 2016-03-08 19:54:46
这是包定义中的一个错误。请看this的答案:在"moq“中替换"Moq”
https://stackoverflow.com/questions/35846706
复制相似问题