使用.csproj生成nuget包导致错误的版本号

时间:2016-11-28 17:01:18

标签: c# nuget .net-assembly

目前我正在使用* .csproj和nuspec文件创建一个nuget包。在nuspec文件中,我声明了这样的程序集/包版​​本:

<package >
  <metadata>
    <id>$id$</id>
    <version>$version$</version>
    ...
  </metadata>
</package >

在程序集中,版本声明如下:

[assembly: AssemblyVersion("6.0.0")]
[assembly: AssemblyFileVersion("6.0.0")]

问题是,当我使用nuget pack xxx.csproj创建包时, 它会创建一个包含版本6.0.0.0而非6.0.0的包。这在使用nuget安装程序集时出现问题,因为visual studio正在package/.../6.0.0中搜索程序集,但它存储在packages/.../6.0.0中。

这是一个已知问题吗?

1 个答案:

答案 0 :(得分:1)

NuGet使用其他属性生成$ version $:

中替换的版本

[assembly:AssemblyInformationalVersion(“6.0.0”)]

how to version assemblies destined for Nuget中所述,NuGet使用此属性,因为似乎没有其他任何关心它:) AssemblyInformationalVersion属性是一个可以用于semantic versions的文字属性