如何使NuGet pack不覆盖现有版本

如何使NuGet pack不覆盖现有版本,nuget,Nuget,在将NuGet包构建到输出目录时,我不希望它覆盖现有版本 现有命令: ".nuget\nuget.exe" pack "some.csproj" -output "c:\~packages" 我已经查阅了文档,似乎找不到一个开关来实现这一点。我尝试使用if exists“c:\~packages\some.nupkg”exit 1,但问题是我无法访问该上下文中的版本号,因此我无法预料地提供一个版本来检查这在当前使用NuGet.exe是不可能的 这些选择包括: 修改NuGet的源代码,以允许使用

在将NuGet包构建到输出目录时,我不希望它覆盖现有版本

现有命令:

".nuget\nuget.exe" pack "some.csproj" -output "c:\~packages"

我已经查阅了文档,似乎找不到一个开关来实现这一点。我尝试使用
if exists“c:\~packages\some.nupkg”exit 1
,但问题是我无法访问该上下文中的版本号,因此我无法预料地提供一个版本来检查

这在当前使用NuGet.exe是不可能的

这些选择包括:

  • 修改NuGet的源代码,以允许使用额外的命令行选项来支持不覆盖现有NuGet包(如果存在)。可以更改以支持此操作
  • 编写实用程序以生成正确的包版本,然后在运行NuGet.exe之前检查包是否存在。如果使用的是nuget pack projectfile,则会从项目输出程序集中获取的AssemblyInformationalVersionAttribute中读取程序包版本信息

  • 自从给出这个答案已经有几年了。现在还是这样吗?或者,如果.nupkg文件已经存在,现在是否可以不覆盖它们?就我所见,仍然是一样的。这个