我有一个.NET核心库 - .NET Core 1.1应用程序 - 并且想要安装SQL Server客户端。我在NuGet中获得以下屏幕。
这些运行时本机是什么?我真的希望通过坚持只使用.NET Core而不是将.NET Core与.NET Framework混合使用来保持应用程序的干净和清洁。
知道这些运行时本机是什么吗?它们会影响应用程序说Linux或MacOS的可移植性吗?
答案 0 :(得分:1)
您正在从Visual Studio添加NuGet PackageReference,这就是您正在安装这些运行时本机库的原因。
背景中真正发生的是:
<PackageReference Include="System.Data.SqlClient" Version="4.3.0" />
命令,该命令确定您当前的运行时并根据该命令恢复依赖关系。因此,当您引用dotnet restore
时,restore命令会根据您当前的运行时(即Windows)恢复其依赖关系。
回答你的问题:它不会影响可移植性,因为如果使用不同的目标运行时(例如System.Data.SqlClient
)进行恢复,它将关闭特定于此的运行时本机。