octopack nuget 包版本

Posted

技术标签:

【中文标题】octopack nuget 包版本【英文标题】:octopack nuget package version 【发布时间】:2017-06-08 21:32:31 【问题描述】:

无论我做什么,我的 nupkg 文件似乎都是 1.0.0.0 版本。 我想使用我的 nuspec 文件中的 version 元素指定包的版本,如下所示。

<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
    <metadata>
        <id>SpacePlanning.SavePlanogram</id>
        <version>1.0.1</version>
        <authors>Blah</authors>
    </metadata>
..
</package>

我的 msbuild 命令是

MSBuild.exe "%WORKSPACE%\LoadPlanogram.sln" /t:Build /p:Configuration=Debug /p:OctopusPackageConfiguration=Debug /p:RunOctoPack=true /p:OctoPackEnforceAddingFiles=true /p:OctopusPackageVersion=1.0.0

【问题讨论】:

【参考方案1】:

您要查找的 MSBuild 参数是 OctoPackPackageVersion,而不是 OctopusPackageVersion。

我相信您所要求的(在 .nuspec 文件中指定硬编码版本并使用它)是不可能的。

您可以选择通过上面提到的 MSBuild 参数指定版本,或者在 AssemblyInfo.cs 文件中,使用 AssemblyInformationalVersionAttributeAssemblyVersionAttribute >.

[assembly: AssemblyVersion("1.0.1")]

或者,如果你想创建一个pre-release package:

[assembly: AssemblyInformationalVersion("1.2.3-myhotfix+somemetadata")]

您可以在此处阅读有关 OctoPack 内部工作原理的包版本控制:Using OctoPack Versioning

【讨论】:

Emiel- 我的错!当我更改属性 /p:OctoPackPackageVersion=x.x.x 时,它确实有效。但是,如果我从 MSBUILD 中删除上述参数并使用 AssemblyVersion 生成版本。不管我改成什么,它似乎都没有生效。

以上是关于octopack nuget 包版本的主要内容,如果未能解决你的问题,请参考以下文章

如何在octopack中使用nuspec中设置的版本号?

指定 Octopack nuget 包文件的目标路径

Nuget 3 - Octopack - 错误的框架目标错误

OctoPack 和 OD 通道:如何创建可以通过管道传输到版本通道的包版本?

TFS2017 - 使用 octopack 凭据进行 NuGet 推送

是否可以将 OctoPack 与新的 PackageReference NuGet 格式一起使用?