繁体   English   中英

如何使用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")

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

我尝试了各种using语句:

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

似乎都不起作用( 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文档或下载一个有效的现有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,]"
            }
        }
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM