c#-在旧版.NET平台上使用.NET Core软件包

我正在使用VS中的那些新“类库(包)”模板之一创建NuGet包.我想知道,有什么方法可以从不使用.NET Core的PCL中使用我的软件包?

例如,我有一个软件包Enu,其中包含以下project.json:

{
    "title": "Enu",
    // project details...

    "dependencies": {
        "System.Runtime": "4.0.0"
    },

    "frameworks": {
        "dotnet": { }
    }
}

然后,我有一个针对.NET 4.5,Windows 8和Windows 8.1的旧PCL.当我尝试通过Install-Package Enu安装软件包时,出现以下错误:

PM> Install-Package Enu
# blah blah blah
Install-Package : Could not install package 'Enu 4.0.0'. You are trying to install this package into a project that targets '.NETPortable,Version=v4.5,Profile=Profile111', but the package does not contain 
any assembly references or content files that are compatible with that framework. For more information, contact the package author.

我该怎么做才能解决此问题?

注意:奇怪的是,它可以在控制台应用程序上运行.

解决方法:

是的,有可能.这是一个不错的图形供参考(取自here):

c#-在旧版.NET平台上使用.NET Core软件包

tl; dr要定位所有内容,请将其添加到您的project.json中:

"frameworks": {
    "dotnet": { }, // .NET 4.6 and DNX
    "net45": { }, // .NET Framework 4.5
    "netcore45": { } // WinRT and Silverlight
}
上一篇:c#-NuGet System.Data.SQLite-列出NuGet上的所有版本


下一篇:CodeGo.net>用NuGet添加jQuery UI