VS2017中是否有包含id和版本号的变量? (外部工具菜单项调用Nuget Push)

时间:2018-02-22 11:39:47

标签: visual-studio visual-studio-2017 nuget

我想向VS2017添加一个外部'Nuget Push'命令,但我可以获得nuget参数列表最接近的命令:

push $(ProjectDir)bin\$(Configuration)\*.nupkg -Source "xxx" -ApiKey xxx

(其中Source和ApiKey是我们的私人价值观)。

这种(有点)可行,但如果我可以指定$(PackageId).$(PackageVersion).nupkg而不是*.nupkg,那就更清晰了。是否存在可用于构建确切文件名的合适变量?

更新

这是外部工具的定义,而不是<Target>。使用这些设置: enter image description here

示例结果是:

File does not exist (C:\TFS\DefaultCollection\Forge\Forge.POCO\bin\Debug\..nupkg).

1 个答案:

答案 0 :(得分:1)

我之前没有打开GitHub issue,但是我意识到可能实现的用户太少,因为使用$(PackageId)和{{1在大多数场景中都可以使用。

NuGet团队成员建议使用其中一个$(PackageVersion)项,其中包含创建的所有.nuspec和.nupkg文件:

NuGetPackOutput

但在大多数情况下,使用<Target Name="Foo" DependsOnTargets="Pack"> <Message Importance="high" Text="NuGetPackOutput: %(NuGetPackOutput.Identity)" Condition="'%(NuGetPackOutput.FileExtension)' == '.nupkg'" /> </Target> 也有效。

如果您发现这对您不起作用,或者您需要更具体的属性或项目,请对此问题进行评论。