如何使用 nuget 包中定义的扩展?

How do you use extensions defined in a nuget package?

我似乎也无法弄清楚在我的文件顶部使用什么 using 语句。

nuget 包在这里:https://www.nuget.org/packages/csharp-extensions 我尝试使用的方法是 Object#Send

所以,我打电话给

<#objectInstanec>.Send("SomeMethod")

但是编译器说该方法没有在类型对象上定义。
Send 在这里定义:https://github.com/NullVoxPopuli/csharp-extensions/blob/master/Extensions/Methods.cs#L26

我尝试了各种使用语句:

using csharp_extensions.Extensions.Methods;
using csharp_extensions.Extensions;
using csharp_extensions

none 似乎有效(csharp_extensions 不存在)

更新 - 我如何安装包

我的project.json:

{
    "dependencies": {
        "System.Reflection": "4.1.0-beta-*",
        "Microsoft.Extensions.PlatformAbstractions": "(1.0.0-rc1-final,]",
        "xunit": "2.1.0-*",
        "xunit.runner.dnx": "2.1.0-*",
        "csharp-extensions": "1.0.1"
    },
    "commands": {
        "test": "xunit.runner.dnx"
    },
    "frameworks": {
        "dnxcore50": {
            "_": "this is the recommended windows runtime",
            "dependencies": {
                "System.Console": "4.0.0-beta-*",
                "System.Reflection": "4.1.0-beta-*",
                "System.Reflection.TypeExtensions": "4.1.0-beta-*",
                "System.Runtime.Extensions": "(4.0,]",
                "System.IO": "(4.0,]",
                "csharp-extensions": "1.0.1"

            }
        }
    }
}

然后我通过

安装依赖项

dnu restore

我觉得你的 NuGet 包不正确。您的程序集在 bin\Debug\dnxcore50 中。我会看一下 NuGet documentation 或下载一个可用的现有 NuGet 包。

NuGet v2 样式包包含 lib 目录中的程序集。 lib 目录中的目录以目标框架命名。查看 Microsoft.Extensions.PlatformAbstractions NuGet 包,您在两个目录中都有一个程序集:

lib\net451
lib\dotnet5.4

因此,对于您的 NuGet 包,我相信这些程序集未被引用,因为它们不在正确的目录中。 dotnet5.4目录下有dnxcore目标框架可以使用的程序集

此外,project.json 应该如下所示(没有 system.reflection,因为它是多余的)

{
    "dependencies": {
        "Microsoft.Extensions.PlatformAbstractions": "(1.0.0-rc1-final,]",
        "System.Reflection": "4.1.0-beta-*",
        "xunit": "2.1.0-*",
        "xunit.runner.dnx": "2.1.0-*"
    },
    "commands": {
        "run": "csharp_extensions",
        "test": "xunit.runner.dnx"
    },
    "frameworks": {
        "dnxcore50": {
            "_": "this is the recommended windows runtime",
            "dependencies": {
                "System.Console": "4.0.0-beta-*",
                "System.Reflection.TypeExtensions": "4.1.0-beta-*",
                "System.Runtime.Extensions": "(4.0,]",
                "System.Dynamic.Runtime": "(4.0.0,]",
                "Microsoft.CSharp": "(4.0.0,]",
                "System.IO": "(4.0,]"
            }
        }
    }
}