使用 .csproj 生成 nuget 包会导致版本号错误
Generating nuget package using .csproj cause wrong version number
目前我正在使用 *.csproj 和 nuspec 文件创建一个 nuget 包。在 nuspec 文件中,我声明 assembly/package 版本如下:
<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
.
中
这是一个已知问题吗?
NuGet 使用其他属性生成在 $version$ 中替换的版本:
[程序集:AssemblyInformationalVersion("6.0.0")]
如how to version assemblies destined for Nuget NuGet uses this attribute because nothing else seems to care about it :) the AssemblyInformationalVersion attribute is a literal one that can be used for semantic versions
所述
目前我正在使用 *.csproj 和 nuspec 文件创建一个 nuget 包。在 nuspec 文件中,我声明 assembly/package 版本如下:
<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
.
这是一个已知问题吗?
NuGet 使用其他属性生成在 $version$ 中替换的版本:
[程序集:AssemblyInformationalVersion("6.0.0")]
如how to version assemblies destined for Nuget NuGet uses this attribute because nothing else seems to care about it :) the AssemblyInformationalVersion attribute is a literal one that can be used for semantic versions
所述