使用带有特定预发布标签的Nuget软件包
在我们的开发环境中,我们有一个包含公共组件的Git repo。此repo具有多个功能分支,这些分支通过CI构建将Nuget包发布到公共提要。在提要中,来自这些特性分支的包用分支名称的prerelease标记标识。作为一个消费者,我正在研究Nuget.config文件中提到的这个源代码。而且,我正在尝试使用来自该公共组件的特定功能分支的包。但是,我从consumer项目调用的Nuget update命令可能会从其他分支获取预发布版本,如果该包有更高的版本。请分享您对如何解决此问题的意见。我在update命令中没有看到任何额外的参数来提及特定的pre-release标记 谢谢使用带有特定预发布标签的Nuget软件包,nuget,Nuget,在我们的开发环境中,我们有一个包含公共组件的Git repo。此repo具有多个功能分支,这些分支通过CI构建将Nuget包发布到公共提要。在提要中,来自这些特性分支的包用分支名称的prerelease标记标识。作为一个消费者,我正在研究Nuget.config文件中提到的这个源代码。而且,我正在尝试使用来自该公共组件的特定功能分支的包。但是,我从consumer项目调用的Nuget update命令可能会从其他分支获取预发布版本,如果该包有更高的版本。请分享您对如何解决此问题的意见。我在upd
Sandeep有几个选项:
My.Product.With.featureUrea
和My.Product.With.FeatureB
1.2.3-1-*
PackageReference
,因此您还可以定义中心功能和生成版本(例如在目录.build.props
文件中),并在包引用中使用这些功能和版本。例如,您可以在csproj
文件中使用如下定义:
<ItemGroup>
<PackageReference Include="My.Shared.LibA" Version="1.2.3-$(LibsFeatureBranch)-$(LibsBuildNumber)" />
<PackageReference Include="My.Shared.LibB" Version="1.2.3-$(LibsFeatureBranch)-$(LibsBuildNumber)" />
</ItemGroup>
非常感谢马丁。我正在尝试使用允许的版本。但我到目前为止还没有成功。我有两个版本为2.0.0的功能分支,它们具有标记sandeepf1和sandeepf2。两者都发布了2个Nuget软件包,因此软件包版本为:2.0.0-sandeepf11 2.0.0-sandeepf12.0.0-sandeepf21 2.0.0-sandeepf22我需要使用sandeepf1分支的最新版本,即2.0.0-sandeepf12。我在allowedVersions属性中尝试了这么多模式,但无法获得此版本。[2.0.0-sandeepf1,2.1.0-sandeepf1)得到我2.0.0-sandeepf22[2.0.0-sandeepf1]得到我2.0.0-sandeepf11
<Project>
<PropertyGroup>
<LibsFeatureBranch>CoolFeatureA</LibsFeatureBranch>
<LibsBuildNumber>20170510-</LibsBuildNumber>
</PropertyGroup>
</Project>