【发布时间】:2018-03-13 16:14:49
【问题描述】:
我正在尝试打包自定义 NuGet 包的新版本,当我使用 pack 命令时,我得到一个 .nupkg 文件,该文件的版本号与我的版本号不匹配'已在.nuspec file 中指定。
例子:
nuget pack mypackage.csproj -IncludeReferencedProjects -Prop Configuration=Release
.nuspec文件:
<?xml version="1.0"?>
<package >
<metadata>
<id>mypackage</id>
<version>1.0.1</version>
<authors>me</authors>
<owners>me</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>blah</description>
<releaseNotes></releaseNotes>
<copyright>Copyright 2016</copyright>
<tags>tag1 tag2</tags>
<dependencies>
</dependencies>
</metadata>
</package>
我应该得到一个名为 mypackage.1.0.1.nupkg 的文件,但我得到的是一个名为 mypackage.1.0.0.nupkg 的文件
当我尝试使用包含在Properties\AssemblyInfo.cs 中的AssemblyInfo 数据并将版本声明为.nuspec 文件中的变量时,我也得到了相同的结果:
属性\AssemblyInfo.cs ... [程序集:AssemblyVersion("1.0.1")] ...
我应该在我的项目中寻找其他属性来更新我的 NuGet 包吗?
解决方案:忽略 .nuspec 文件并通过 .csproj 管理包版本
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net451;net452</TargetFrameworks>
...
<AssemblyVersion>1.2.1</AssemblyVersion>
</Project>
提前致谢!
【问题讨论】:
-
我遇到了类似的问题。我已经更新了项目程序集和文件版本,但我从未增加 .nuspec 文件中的版本
标签: c# nuget assemblyinfo