首页 文章

多框架Nuget安装不正确的框架

提问于
浏览
0

我创建了一个针对.Net 3.5和Net Standard 2.0的nuget . 当我在.Net 3.5项目上安装nuget时,会安装正确版本的nuget . 但是,当我尝试在.Net 4.6.1项目上安装相同的nuget时,安装了net35版本,而不是Net Standard 2.0 . 我认为.Net 4.6.1与Net Standard 2.0兼容(根据官方微软文档:https://docs.microsoft.com/en-us/dotnet/standard/net-standard) .

我错过了什么,或者nuget包装不正确?

1 回答

  • 1

    NuGet不是这样的 . NuGet将最具体的目标框架用于它可以找到的项目 . 由于NuGet包中有一个以.NET Framework为目标的程序集,因此对于面向.NET Framework的项目,它将使用该程序集而不是.NET Standard程序集 .

    如果NuGet包没有lib / net35文件夹,那么如果使用最新版本的NuGet,.NET Framework 4.6.1项目将使用.NET Standard 2.0程序集 .

    如果要将不同的程序集用于.NET 4.6.1项目,则需要在NuGet包中的lib / net461文件夹中安装程序集 .

相关问题