Библиотеки NuGet и переносимые классы - пакет не предназначен для какой-либо платформы

Я использую NuGet для управления своими внутренними сборками в течение нескольких месяцев, и он работает очень хорошо. Недавно я «обнаружил» переносимые библиотеки классов, и это тоже было здорово - пока не пришло время устанавливать пакеты.

Скажем, у меня есть PCL, предназначенный для .NET 4.5, SL5 и .NET для приложений Магазина Windows. Я запускаю nuget spec, чтобы создать файл .nuspec, отредактировать значения, упаковать его и добавить .nupkg к нашему внутреннему каналу. Если я открою файл .nupkg в проводнике пакетов, я увижу одну папку содержимого в библиотеке под названием portable-win + net45 + sl50.

Когда я пытаюсь установить пакет из любого совместимого проекта в другом решении, я получаю следующее сообщение:

«'Project.PCL' не может быть установлен, потому что он несовместим с каким-либо проектом в решении. Пакет не предназначен для какой-либо платформы».

Если я вручную создаю .nupkg в проводнике пакетов, обновляю номер версии, добавляю папку lib для каждой целевой платформы (не переносимой папки) и добавляю Project.PCL.dll в каждую папку, я могу добавить пакет в совместимые проекты в решении. Но выполнять этот процесс каждый раз, когда я хочу обновить PCl, несколько утомительно (я создавал небольшой файл .cmd в корневой папке проекта для быстрой упаковки и развертывания).

Есть ли у других такая проблема? Как я могу упаковать PCL так же, как и другие типы проектов?

Примечание. Я использую VS 2012 Ultimate и NuGet 2.2.


person Alyce    schedule 30.12.2012    source источник


Ответы (2)



Для меня спецификация nuget и пакет nuget отлично работали с переносимым проектом при создании пакета и его установке в совместимом проекте.
Вы хотите проверить, есть ли у вас последняя версия nuget.exe (2.2), ее можно загрузить с http://nuget.org/nuget.exe или его можно обновить, запустив nuget update -self

person Deepak    schedule 04.01.2013
comment
Я проверил, у меня есть NuGet 2.2. Какой процесс вы используете для создания пакета? - person Alyce; 04.01.2013
comment
из командной строки в папке проекта я делаю nuget spec, а затем запускаю nuget pack. Можете ли вы поделиться своим пакетом nuget где-нибудь, созданным из командной строки, и я могу попробовать? - person Deepak; 04.01.2013
comment
Я создал пакет, предназначенный для приложений .NET 4.5, SL5 и Windows Store, запустил nuget spec и nuget pack. Я не могу установить этот пакет через Visual Studio ни в какие проекты. Вот пакет на SkyDrive - person Alyce; 05.01.2013
comment
спасибо за то, что поделились пакетом, мне удалось установить его в переносимую библиотеку классов, ориентированную на .net приложение для магазина Windows + .net 4.5 + SL5 - person Deepak; 08.01.2013
comment
Может быть, проблема в какой-то части моей установки или что-то в этом роде. В любом случае спасибо за вашу помощь. - person Alyce; 13.01.2013