Nuget无法找到更新的依赖

And*_*Gis 6 moq autofixture nuget asp.net-core-mvc asp.net-core

我刚刚在ASP 5 MVC 6 beta8中创建了一个新项目,并为测试创建了一个兼容的类库.问题发生在我打算用于测试的新"Web类库"项目中.

这就是我的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"
  }
}
Run Code Online (Sandbox Code Playgroud)

在编译期间,我收到以下错误:

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
Run Code Online (Sandbox Code Playgroud)

这是我的项目的参考资料:

在此输入图像描述

我想问题是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": {}
    }
  },
Run Code Online (Sandbox Code Playgroud)

但是,安装的Moq版本更高"4.2.1510.2205",因此根据错误消息,它应该没问题,但事实并非如此.

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

我能做些什么呢?

编辑

我还创建了一个普通的类库,安装了上面的依赖项并尝试了一下.普通类库项目建好了.

cod*_*ork 2

更新:现在可以通过升级到 AutoFixture.AutoMoq 3.41.0 或更高版本来修复此问题。

原答案:

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

"AutoFixture.AutoMoq/3.38.0": {
    "type": "package",
    "dependencies": {
      "autofixture": "3.38.0",
      "Moq": "4.1.1308.2120"
    },
Run Code Online (Sandbox Code Playgroud)

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