我们的团队刚刚开始使用 NuGet 包,目前在本地服务器目录上。当多个开发人员正在处理同一个项目并且都意外地将补丁版本升级到相同版本并且在发布时相互覆盖时,问题就开始了。
如何安全地使用本地 nuGet 包?
如果您使用 git,则可以使用 Nerdbank GitVersioning。
它使用您的 git 历史记录来计算每次提交的唯一版本号,因此 2 个不同提交的构建将始终具有不同的版本号
不知道有没有第三方工具可以实现。从 nuget 包的角度来看,您可以为
PackageVersion
创建一个新的可区分的 guid。让每个 nuget 包对每个人来说都是独一无二的。如果你的nuget项目是新的sdk格式,你可以尝试这些:
<PropertyGroup>
<PackageId>Test</PackageId>
<Version>1.0.0</Version>
<!--let your staff add their first name here-->
<Employee_Name>perry</Employee_Name>
<!--show the time of the pack project-->
<Release_Time>$([System.DateTime]::Now.ToString('yyyyMMddHHmm'))</Release_Time>
<PackageVersion Condition="'$(PackageVersion)'==''">$(Version)</PackageVersion>
<PackageVersion Condition="'$(Employee_Name)' != ''">$(PackageVersion)-$(Employee_Name)</PackageVersion>
<PackageVersion Condition="'$(Release_Time)' !=''">$(PackageVersion)-$(Release_Time)</PackageVersion>
</PropertyGroup>
注意:
Employee_Name
应设置为每个员工的姓名,Release_Time
默认设置为打包时间。
并且是唯一的标识id,不能互相覆盖。