Здравствуйте, VladCore, Вы писали:
VC>Предположим есть проект .NEt Framework 4.6.1 VC>Есть ссылка на nuget, в котором лежат сборки NetStandard 2.0 (а), и NET Framework 4.6 (б)
VC>Предположим есть проект .NEt Framework 4.6.1 VC>Есть ссылка на nuget, в котором лежат сборки NetStandard 2.0 (а), и NET Framework 4.6.1 (б)
В обоих случаях ожидается, что возьмёт сборку б) .NET Framework.
Здравствуйте, Qbit86, Вы писали:
VC>>Предположим есть проект .NEt Framework 4.6.1 VC>>Есть ссылка на nuget, в котором лежат сборки NetStandard 2.0 (а), и NET Framework 4.6 (б)
VC>>Предположим есть проект .NEt Framework 4.6.1 VC>>Есть ссылка на nuget, в котором лежат сборки NetStandard 2.0 (а), и NET Framework 4.6.1 (б)
Q>В обоих случаях ожидается, что возьмёт сборку б) .NET Framework.
Сорри, 4.6.1 он не полностью соответствует стандарту netstandard 2.0
А 4.7.2 проект какую сборку возмет? В Nuget-пакете есть, предположим, NetStandard 2.0 и net47
4.7.2 — он же весь netstandard 2.0 покрывает без доп пакетов
Здравствуйте, VladCore, Вы писали:
VC>А 4.7.2 проект какую сборку возмет? :xz: В Nuget-пакете есть, предположим, NetStandard 2.0 и net47 VC>4.7.2 — он же весь netstandard 2.0 покрывает без доп пакетов
Тоже ожидается, что .NET Framework-проект возьмёт из NuGet-пакета .NET Framework-сборку той же или меньшей версии — независимо от того, есть ли в этом пакете .NET Standard-сборки.
Если бы в NuGet-пакете не было .NET Framework-сборок подходящей версии, тогда .NET Framework-проект взял бы .NET Standard-сборку.
Глаза у меня добрые, но рубашка — смирительная!
Re: Какую сборку из NuGet-пакета возмет msbuild/dotnet?
Здравствуйте, VladCore, Вы писали:
VC>Это не объяснет зачем собирать в один nuget-пакет netstandard таргеты при наличии net и netcoreapp бинариников.
Чтобы можно было ссылаться на этот пакет из других .NET Standard-библиотек. Если в NuGet-пакете только net***- и netcoreapp***-сборки, то на пакет нельзя сослаться из netstandard***-библиотеки.
VC>Особенно под старые netstandard-ы младше 2-го
Чтобы на этот пакет могли ссылаться чьи-то netstandard1.*-библиотеки.
Проще говоря, ты таргетишь минимально возможную версию netstandard, чтобы расширить аудиторию своей библиотеки и на тех пользователей, которые поддерживают старый netstandard1.* в своих библиотеках.