Nuget找不到更新的依赖项

Nuget找不到更新的依赖项,nuget,moq,asp.net-core,asp.net-core-mvc,autofixture,Nuget,Moq,Asp.net Core,Asp.net Core Mvc,Autofixture,我刚刚在ASP 5 MVC 6 beta8中创建了一个新项目和一个兼容的测试类库。这个问题发生在我打算用于测试的新“Web类库”项目中 这就是my project.json的外观: { "version": "1.0.0-*", "description": "ClassLibrary1 Class Library", "authors": [ "Me" ], "tags": [ "" ], "projectUrl": "", "licenseUrl": "", "f

我刚刚在ASP 5 MVC 6 beta8中创建了一个新项目和一个兼容的测试类库。这个问题发生在我打算用于测试的新“Web类库”项目中

这就是my project.json的外观:

{
  "version": "1.0.0-*",
  "description": "ClassLibrary1 Class Library",
  "authors": [ "Me" ],
  "tags": [ "" ],
  "projectUrl": "",
  "licenseUrl": "",
  "frameworks": {
    "dnx451": { }
  },
  "dependencies": {
    "AutoFixture": "3.36.9",
    "AutoFixture.AutoMoq": "3.36.9",
    "Moq": "4.2.1510.2205"
  }
}
在编译过程中,我遇到以下错误:

Severity    Code    Description Project File    Line    Source
Error   NU1001  The dependency moq >= 4.1.1308.2120 could not be resolved.  ClassLibrary1   Path\To\My\Solution\ClassLibrary1\project.json  1   Build
这就是我的项目参考的样子:

我想问题在于
AutoFixture.AutoMoq
需要
Moq
版本
“4.1.1308.2120”
。请参阅project.lock.json:

  "AutoFixture.AutoMoq/3.36.9": {
    "type": "package",
    "dependencies": {
      "autofixture": "3.36.9",
      "moq": "4.1.1308.2120"
    },
    "compile": {
      "lib/net40/Ploeh.AutoFixture.AutoMoq.dll": {}
    },
    "runtime": {
      "lib/net40/Ploeh.AutoFixture.AutoMoq.dll": {}
    }
  },
但是,安装的
Moq
版本更高
“4.2.1510.2205”
,因此根据错误消息,应该可以,但不是

如果我将
Moq
降级到所需的版本,它可以正常工作,但我宁愿使用最新版本。我已经安装了最新的nuget软件包管理器,重新启动了VS和OS,但都没有帮助

我能怎么办

编辑


我还创建了一个普通类库,安装了上面的依赖项,并进行了尝试。正常类库项目构建良好。

同一项目中不能有两个不同的版本。您可以使用*来允许向上或降级。请参阅本文更新:现在可以通过升级到AutoFixture.AutoMoq 3.41.0或更高版本来修复此问题

原始答复:

在project.lock.json的targets部分中,将“moq”大写,以便AutoMoq元素如下所示:

"AutoFixture.AutoMoq/3.38.0": {
    "type": "package",
    "dependencies": {
      "autofixture": "3.38.0",
      "Moq": "4.1.1308.2120"
    },

不幸的是,每次重新生成锁文件时都必须再次执行此操作

如果尝试创建具有这些依赖项的普通控制台应用程序或类库,会发生什么情况?我现在就试过了,它编译得很好,所以我的假设是它与ASP 5 MVC 6相关,毕竟它仍处于测试阶段。如果是这样的话,这可能是一个你应该报告的错误。@MarkSeemann我尝试了一下,它构建得很好。我会向ASP5团队报告,看看他们怎么说。我遇到了同样的问题。您是否在github上创建了问题?问题在rc1中解决了吗?@Asik是的,我已经解决了。未采取任何措施:我在AutoFixture中为此创建了一个问题,并将在上面链接的ASP.NET回购问题中交叉引用它。它并没有说你不能有两个不同的版本在决定多个同类依赖项时,冲突解决程序使用满足所有版本要求的最低版本。“您需要一个精确的版本。”。若要允许使用较低版本,您必须指定一些内容,如“Moq”:“4.2.*”基于您链接到的文档,它没有说明不允许使用两个不同版本。请参阅上的问题