Как ограничить версию при сборке пакета?
Это известная проблема с ограничением версии для ProjectReference
.На данный момент семантическое управление версиями не поддерживает ProjectReference
, поэтому мы не можем установить верхний предел версии для ProjectReference
, как мы делаем для PackageReference
.
Для Известная проблема , проверьте: Разрешить верхний предел Версия для ссылок ProjectReference в nupkg от dotnet pack
для поддержки semver .
В качестве обходного пути , мыможно преобразовать ProjectReference
в PackageReference
, затем использовать Version="[1.0.6]"
для PackageReference
.
Подробные шаги:
1) Создать пакет nugetдля проекта PRB.Extensions
и PRB.WcfExtensions
получите пакет PRB.Extensions.1.0.6.nupkg
и PRB.WcfExtensions.1.0.0.nupkg
.
2) Установите эти два пакета на локальный канал, затем установите их в проект PRB.OracleExtensions
, затемВы получите следующий код:
<ItemGroup>
<PackageReference Include="PRB.Extensions" Version="1.0.6" />
</ItemGroup>
3) Установите ограничение версии на PackageReference
:
<ItemGroup Condition="'$(TargetFramework)' == 'net461'">
<PackageReference Include="PRB.Extensions" Version="[1.0.6]" />
<PackageReference Include="PRB.WcfExtensions" Version="[1.0.0]" />
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'netstandard2.0'">
<PackageReference Include="PRB.Extensions" Version="[1.0.6]" />
</ItemGroup>
Примечание: Когда вы используете PackageReference
вместоиз ProjectReference
, вы должны удалить ProjectReference
перед добавлением пакета nuget в проект PRB.OracleExtensions
.