Visual studio 2010 如果我发布了nuget软件包的更新,但我没有';如果不更改版本号,Visual Studio将如何处理?

Visual studio 2010 如果我发布了nuget软件包的更新,但我没有';如果不更改版本号,Visual Studio将如何处理?,visual-studio-2010,nuget,nexus,Visual Studio 2010,Nuget,Nexus,假设我在Nexus存储库中有一个名为MyPackage.1.0.0的nuget包。我在VisualStudio中还有一个安装了MyPackage.1.0.0的解决方案。如果我在Nexus中更改了nuget包,但没有更改版本号,那么Visual Studio中会发生什么?Visual Studio是否会知道已安装的软件包已过时?下次生成解决方案时,它会自动下载新版本吗?否,Visual Studio不会检测到此问题,也不会使用更新的软件包。此外,如果您使用的是包引用nuget package ma

假设我在Nexus存储库中有一个名为MyPackage.1.0.0的nuget包。我在VisualStudio中还有一个安装了MyPackage.1.0.0的解决方案。如果我在Nexus中更改了nuget包,但没有更改版本号,那么Visual Studio中会发生什么?Visual Studio是否会知道已安装的软件包已过时?下次生成解决方案时,它会自动下载新版本吗?

否,Visual Studio不会检测到此问题,也不会使用更新的软件包。此外,如果您使用的是包引用nuget package management格式,则安装后的包将提取到全局包文件夹。如果您现在尝试在一个完全不同的项目中安装此软件包,nuget会首先查看此全局软件包文件夹,如果它找到了它将使用的软件包,它将使用它,而不会再次转到软件包源来检索它

否,Visual Studio将不会检测到此问题,也不会使用更新的包。此外,如果您使用的是包引用nuget package management格式,则安装后的包将提取到全局包文件夹。如果您现在尝试在一个完全不同的项目中安装此软件包,nuget会首先查看此全局软件包文件夹,如果它找到了它将使用的软件包,它将使用它,而不会再次转到软件包源来检索它

您可以通过调用

nuget locals all -clear
从命令行


之后,所有软件包将再次下载。这在开发过程中可能是可以接受的(即,如果您需要调整软件包,直到它工作为止),但如果其他人已经在使用相同的版本,则显然不是一个选项

您可以通过调用

nuget locals all -clear
从命令行


之后,所有软件包将再次下载。这在开发过程中可能是可以接受的(即,如果您需要调整软件包,直到它工作为止),但如果其他人已经在使用相同的版本,则显然不是一个选项

这是一个很好的例子,说明了为什么使用相同的版本号重新部署一经发布(在您部署到NXRM的情况下)可能是一种不好的做法。这是一个很好的例子,说明了为什么使用相同的版本号重新部署一经发布(在您部署到NXRM的情况下)可能是一种不好的做法。