有一个'requireReinstallation'在packages.config中标记,其目的非常clear。但是,我想知道NuGet究竟是如何确定软件包是否需要重新安装。我有一个使用Serilog和RayGun软件包的项目,在升级.NET版本后,只有Serilog获得了标签集。这背后的算法是什么?
答案 0 :(得分:1)
如果将NuGet包安装到项目中(如果它具有新的目标框架),则该算法与用于确定哪个程序集最适合项目的算法相同。如果程序集不同,那么NuGet认为需要重新安装。
因此,如果您安装了Foo和Bar NuGet包:
富
酒吧
您的项目针对.NET 4.5,并将其更改为.NET 4.6,然后NuGet会将Bar标记为需要重新安装。 Bar有一个针对.NET 4.6的程序集,因此它被认为是更好的匹配。 Foo不需要重新安装。