octopack nuget包版本

octopack nuget package version

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

<?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

您要查找的 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