使用Visual Studio 2017的新csproj格式如何添加对旧版便携式库的支持?

时间:2017-04-03 17:18:04

标签: c# visual-studio-2017 .net-standard

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

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

某些NuGet引用(例如SignalR的客户端)没有(并且据我所知仍然没有).NET标准等价物,因此您需要向净标准框架添加其他依赖项支持旧库如下:

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

}

使用csproj的新样式,project.json文件消失了(?)所以如何为portable-net45 + win8 + wpa81 + wp8包含此导入,以便我可以再次包含对SignalR客户端的引用我曾经做过的图书馆?目前我无法添加此引用并使其被VS2017构建识别。

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

感谢。

1 个答案:

答案 0 :(得分:4)

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>