Nuget - упаковка решения с несколькими проектами (для нескольких фреймворков)

Допустим, у меня есть следующее решение с несколькими версиями одного и того же кода, каждая из которых нацелена на разную структуру, и я хотел бы сгенерировать из него пакет nuget.

SharedLib.sln
  SharedLib.Net35.csproj
    packages.config
  SharedLib.Net40.csproj
    packages.config
  SharedLib.Phone.csproj
    packages.config
  SharedLib.SL4.csproj
    packages.config

Ожидаемый nupkg имеет следующую структуру

SharedLib.1.0.nupkg
  lib/net35/SharedLib.dll
  lib/net40/SharedLib.dll
  lib/sl4-wp/SharedLib.dll
  lib/sl4/SharedLib.dll

nuget.exe pack SharedLib.SL4.csproj автоматически определит, что целевая платформа - SilverLight4, и поместит двоичные файлы в lib / sl4

Я знаю Я могу добавить файл SharedLib.SL4.nuspec с разделом для включения двоичных файлов из других проектов, но есть ли способ заставить nuget автоматически помещать объединенный вывод решения в правильная структура (а также обнаружение зависимостей в packages.config для всех проектов?

17
задан Jesper Larsen-Ledet 27 September 2011 в 13:09
поделиться