C# package.config update不会更新引用

C# package.config update不会更新引用,c#,dll,nuget,nuget-package,nuget-package-restore,C#,Dll,Nuget,Nuget Package,Nuget Package Restore,我有多个项目引用同一个NuGet包。当我得到最新的代码时,我意识到其中一个项目有一个更新的package.config,并且更新了对该包提供的Dll的引用 现在,我还在其他项目上更新了package.config,希望在我升级NuGet引擎时,它会看到这一点,并为我获取新的DLL。嗯,这没有发生。在那之后,我试着做了以下事情,但没有一件奏效: 删除旧版本的DLL,然后执行恢复包 删除软件包文件夹,重新启动my VS 2015并还原软件包 另外,有趣的是,当我去管理Nuget包并查看我需要新DLL

我有多个项目引用同一个NuGet包。当我得到最新的代码时,我意识到其中一个项目有一个更新的package.config,并且更新了对该包提供的Dll的引用

现在,我还在其他项目上更新了package.config,希望在我升级NuGet引擎时,它会看到这一点,并为我获取新的DLL。嗯,这没有发生。在那之后,我试着做了以下事情,但没有一件奏效:

  • 删除旧版本的DLL,然后执行恢复包
  • 删除软件包文件夹,重新启动my VS 2015并还原软件包
  • 另外,有趣的是,当我去管理Nuget包并查看我需要新DLL的包时,它显示它已经是新版本了,我不需要升级它


    有什么方法可以让NuGet engine升级这些包吗?

    仅编辑packages.config文件不会导致Visual Studio对项目进行任何更改。另外,NuGet restore不会修改您的项目。NuGet restore只需下载NuGet软件包并使其可用于您的项目

    我不需要编辑packages.config文件,而只需要使用Visual Studio中的NuGet包管理器或包管理控制台来更新所需项目中的NuGet包


    其他备选方案包括更新项目文件(.csproj)以使用正确的更新部件引用。或者,您可以运行
    更新包-重新安装
    ,强制卸载NuGet软件包并在项目中重新安装。这将修复程序集引用。

    如果您的解决方案可以在Visual Studio 2017之前打开,我建议使用最新的PackageReference来管理nuget。Packages.config有几个缺点,PackageReference解决了这些问题

    以下是迁移到PackageReference的解决方案:

    此外,您还可以使用此vs扩展:

    “更新包-重新安装”当然会在我手动编辑packages.config文件后将我丢失的引用添加到我的项目中。在我的cacse中,“更新包-重新安装”已还原我在packages.config中所做的手动更改