2017-02-06 15 views
0

Я создал простой пакет nuget, содержащий одну сборку, расположенную под lib \ net40.Nuget распаковывает сборку в неправильной папке платформы

Если я разархивирую пакет nuget, я могу убедиться, что сборка действительно присутствует в lib \ net40.

Теперь, когда я устанавливаю этот пакет в свой проект .net с использованием интерфейса Visual Studio Nuget, сборка распаковывается в неправильной папке. Он не распакован под пакетами \ my_package \ lib \ net40, как и следовало ожидать, но под пакетами \ my_package \ lib \ net20.

Сборка представляет собой библиотеку .net-2.0, поэтому вы можете утверждать, что мой пакет Nuget ошибочен, но является ли это запланированным поведением & или что еще может быть причиной того, что сборка не распакована под net40, поскольку я ожидал бы?

+0

Какую версию NuGet вы используете? –

+0

Посмотрите также на [this] (https://docs.microsoft.com/en-us/nuget/create-packages/supporting-multiple-target-frameworks) страницу: «Когда NuGet устанавливает сборку из пакета, она проверяет целевую версию проекта .NET Framework, затем выбирает правильную версию сборки из соответствующей подпапки под lib в пакете ». Нет упоминания о другой папке. Может быть, команда Powershell выполняется как часть установки? –

+0

Я использую версию nuget 3.5.0.1938 – Merijn

ответ

0

Я только что узнал, что произошло. Это было глупое столкновение имен между корпоративным пакетом nuget и соответствующим пакетом на nuget.org. Я ожидал, что Nuget подбирает нашу собственную версию с папкой lib/net40. Вместо этого, однако, nuget выбрал версию с nuget.org, у которой есть папка lib/net20.

+0

Эта информация действительно необходима. Соответствующий порядок настроенных источников NuGet. –

 Смежные вопросы

  • Нет связанных вопросов^_^