2017-03-16 136 views
1

我有一个.NET核心库 - .NET Core 1.1应用程序 - 并希望安装SQL Server客户端。我在NuGet中获得以下屏幕。 enter image description hereNuGet想要安装运行时本地

这些运行时本机是什么?我确实希望通过坚持只使用.NET Core,并且不将.NET Core与.NET Framework混合匹配,以保持应用程序的良好性和清洁性。

不知道这些运行时本机是什么?它们会影响应用程序的可移植性,以说Linux或MacOS?

回答

1

您正在从Visual Studio中添加NuGet PackageReference,这就是为什么您会看到正在安装的这些运行时本机库。

什么背景实际发生的是:

  1. <PackageReference Include="System.Data.SqlClient" Version="4.3.0" />被添加到该文件的.csproj;
  2. 正在运行dotnet restore命令,该命令确定当前运行时并根据该命令恢复相关性。

因此,当您引用System.Data.SqlClient时,restore命令将根据您当前的运行时(即Windows)恢复它的依赖关系。

回答你的问题:它不会影响可移植性,因为如果使用不同的目标运行时执行还原(例如,osx.10.12-x64),它会降低特定的运行时本机。