目前我正在使用* .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
中。
这是一个已知问题吗?
答案 0 :(得分:1)
NuGet使用其他属性生成$ version $:
中替换的版本[assembly:AssemblyInformationalVersion(“6.0.0”)]
如how to version assemblies destined for Nuget中所述,NuGet使用此属性,因为似乎没有其他任何关心它:) AssemblyInformationalVersion属性是一个可以用于semantic versions的文字属性