TLDR:在哪里dotnet pack
在为程序集创建 nuget 包时提取版本信息?
我有一个库,我已将其从 .NET 4.6.1 项目转换为 .NET Core 项目project.json
。对于我在此期间的 CI(使用 TFS 2015 vnext),我将获取我的版本号并将 project.json 文件中的版本号替换为新版本。这dotnet pack
命令会很好地选择版本,并使用更新的版本号创建一个新包。
上周,我从 TFS 2015 升级到 TFS 2017。结果,project.json 被更新的 .csproj 文件替换。我已经更新了我的 CI。在我的 CI 期间 - 我更新了我的/Properties/AssemblyInfo.cs
文件,替换AssemblyVersion
标记当前版本的版本。然后我构建解决方案 - 构建得很好。然后我打包解决方案。
然而,尽管AssemblyVersion
and AssemblyFileVersion
被设置在AssemblyInfo.cs
到正确的内部版本号 -dotnet pack
仍在生成 .nupkg 文件*.1.0.0.nupkg
.
我缺少什么?
这是我的打包命令:
dotnet pack $projectFile -o $currentDirectory
更好的是,指定/p:Version=$(Build.BuildNumber)
(TFS/VSTS) 在 dotnet pack 命令上,它将使用 nuget 包中指定的版本进行构建。
示例(非 TFS 特定):
dotnet pack .\src\example\example.csproj -o c:\published\example -c Release /p:Version=1.2.3
示例(TFS 特定)
dotnet pack $(Build.SourcesDirectory)\src\example\example.csproj -o $(Build.ArtifactStagingDirectory)\Pack -c Release /p:Version=$(Build.BuildNumber)
注意:它不会更新包参考版本。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)