使用 Visual Studio 2017 的新 csproj 格式如何添加对旧的可移植库的支持?

Using the new csproj format for Visual Studio 2017 how to add support for the older portable libraries?

在我安装 visual studio 2017 之前,我之前转换了最初是 PCL 的项目,然后由于更新 e.t.c 而成为 .NET 标准库这些较新的项目使用 project.json 文件来确定目标、框架和依赖项。此处包含框架位是为了相关性:

  "frameworks": { "netstandard1.3": {}}

一些 NuGet 引用,例如 SignalR 的客户端没有(据我所知仍然没有).NET 标准等效项,因此您需要向 net 标准框架添加额外的依赖项以支持较旧的库如下:

"frameworks": {
"netstandard1.3": {
  "imports": [
    "portable-net45+win8+wpa81+wp8"
  ]
}

}

随着 csproj 的新样式,project.json 文件消失了(?)所以我如何为 portable-net45+win8+wpa81+wp8 包含这个导入,以便我可以再次包含参考像我以前那样访问 SignalR 客户端库?目前我无法添加此引用并使其被 VS2017 build 识别。

<Project Sdk="Microsoft.NET.Sdk">
..... ?

谢谢。

PackageTargetFallback 是 Imports 的 MSBuild 版本。

https://docs.microsoft.com/en-au/nuget/schema/msbuild-targets#packagetargetfallback

https://github.com/NuGet/Home/wiki/PackageTargetFallback-(new-design-for-Imports)

<PropertyGroup>
  ....
  <PackageTargetFallback>$(PackageTargetFallback);portable-net45+win8+wpa81+wp8</PackageTargetFallback>
</PropertyGroup>