2017-03-31 70 views
0

packages.config中有一個'requireReinstallation'標記,其目的很可能是clear。但是,我想知道NuGet究竟是如何決定是否需要重新安裝軟件包。我有一個Serilog和RayGun軟件包的項目,升級.NET版本後,只有Seri​​log獲得了標籤集。這背後的算法是什麼?NuGet如何確定是否需要重新安裝

回答

1

如果將NuGet包安裝到項目中(如果它具有新的目標框架),則該算法與用於確定哪個程序集是項目的最佳匹配的算法相同。如果程序集不同,NuGet認爲需要重新安裝。

    • 的lib/net45
  • 酒吧

    • 的lib/net45:

      所以,如果你已經安裝了Foo和酒吧的NuGet包

    • 的lib/net46

和你的項目所針對的.NET 4.5,你把它改成.NET 4.6,那麼的NuGet將標誌着酒吧爲需要重新安裝。 Bar有一個針對.NET 4.6的程序集,所以它被認爲是更好的匹配。 Foo不需要重新安裝。