如何在dotnet Core中添加moq作为依赖项?

Den*_*and 8 moq nuget asp.net-core

我的dotnet核心应用程序中有以下依赖项:

 "dependencies": {
        "xunit": "2.2.0-beta2-build3300",
        "dotnet-test-xunit": "2.2.0-preview2-build1029",
        "Moq": "4.0.10827"
    },
Run Code Online (Sandbox Code Playgroud)

无论我下载什么版本的Moq,它只是不受支持,它说:

Package Moq 4.0.10827 is not compatible with netcoreapp1.0 (.NETCoreApp,Version=v1.0). Package Moq 4.0.10827 supports:
      - net35 (.NETFramework,Version=v3.5)
      - net40 (.NETFramework,Version=v4.0)
      - sl4 (Silverlight,Version=v4.0)
    One or more packages are incompatible with .NETCoreApp,Version=v1.0.
Run Code Online (Sandbox Code Playgroud)

但是我在这篇博文看到:.NET Core上的Moq它是可能的,我在工作室代码中有nuget插件,所以它自动填充包,我写的时候找不到任何包moq.netcore可能我要求更多的查找方法如果这样的插件实际存在,不仅仅是一个答案,因为现在我无法看到nuget如果dotnet Core支持包,那么你们如何检查它是否有支持?你是否只在Nuget.org上寻找包裹?

谢谢

编辑:解决方案project.json:

{
    "version": "1.0.0-*",
    "testRunner": "xunit",
    "dependencies": {
        "xunit": "2.2.0-beta2-build3300",
        "dotnet-test-xunit": "2.2.0-preview2-build1029",
        "moq": "4.6.38-alpha"
    },
    "frameworks": {
        "netcoreapp1.0": {
            "dependencies": {
                "Microsoft.NETCore.App": {
                    "type": "platform",
                    "version": "1.0.0"
                }
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Nee*_*eel 8

我猜Nuget中当前的稳定版本是4.5.23,在你的代码中你提到它应该是4.0.10827,可能是造成问题.

如您的错误所示,Moq 4.0.10827与netcoreapp1.0不兼容,它仅支持4.0,请查看此处了解有关Moq版本的更多详细信息

我还在.Net核心中写了关于Moq的博客,就在这里.但是由于新的变化,我每天都会做出改变.

编辑:根据DenLilleMand:

4.6.38-alpha工作 - 但是例如4.5.3不起作用,抱怨Moq 4.5.3支持net45,并且一个或多个软件包与.NETCoreApp V1.0不兼容.

  • 哦,你我们是对的,它是版本,4.6.38-alpha工作 - 但是例如4.5.3不起作用,抱怨Moq 4.5.3支持net45而一个或多个软件包与.NETCoreApp V1不兼容0.0.所以我用我的新project.json文件更新了我的答案,非常感谢! (3认同)