【问题标题】:NuGet dependency of the same version同一版本的 NuGet 依赖
【发布时间】:2015-08-17 16:46:31
【问题描述】:

我想在我们的 TeamCity 构建服务器上自动生成 nuget 包。我们使用 TeamCity AssemblyInfo Patcher 使特定构建的所有 dll 具有相同的版本号。

我们从项目中生成多个 NuGet 包。如何在依赖项字段中指定版本号,以便它使用与正在构建的包相同的版本号无需硬编码 NuGet .spec 文件中的数字

例如,MyProject.Plugins 需要 MyProject.Math。所以对于MyProject.Plugins 1.2.3.45,依赖应该是这样的:

<dependencies>
    <dependency id="MyProject.Math" version="1.2.3.45" />
</dependencies>

【问题讨论】:

  • 我正在考虑在 powershell 构建步骤中替换版本,以便始终强制执行当前构建的版本。

标签: c# dependencies nuget build-server


【解决方案1】:

TeamCity 的 NuGet 包包含一个版本号字段。

如果您使用 AssemblyInfoPatcher,我们可以只使用我们在此处指定的数字。

对于使用文件内容替换器的更复杂的方法,一个从编译的 dll 中读取版本号的小型 PowerShell 脚本可以提供帮助并将其存储在 teamcity 配置参数 %ActualVersion%

$DllFileName = "MyDll.dll"
$PathPrefix = "bin/Release/"
$Version = [System.Diagnostics.FileVersionInfo]::GetVersionInfo($PathPrefix + $DllFileName).FileVersion
Write-Host "##teamcity[setParameter name='ActualVersion' value='$Version']"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-13
    • 2021-12-18
    • 1970-01-01
    • 1970-01-01
    • 2019-12-25
    • 2019-02-24
    • 2023-03-26
    • 1970-01-01
    相关资源
    最近更新 更多