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

时间:2016-10-19 09:25:52

标签: asp.net-core nuget moq

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

 "dependencies": {
        "xunit": "2.2.0-beta2-build3300",
        "dotnet-test-xunit": "2.2.0-preview2-build1029",
        "Moq": "4.0.10827"
    },

无论我下载什么版本的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.

但我在这篇博文上读到:Moq on .NET Core有可能,我在工作室代码中有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"
                }
            }
        }
    }
}

1 个答案:

答案 0 :(得分:8)

我猜Nuget目前的稳定版本是4.5.23,你提到的代码应该是4.0.10827,可能会导致问题。

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

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

编辑:根据DenLilleMand:

  

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