У меня есть библиотека, для которой я хочу создать пакет Nuget , для которого есть следующая ситуация:
Библиотека компилируется в разные версии:
- Silverlight 4.0
- .Net 4.0
- .net 3.5
- Windows Phone
К счастью, все эти платформы поддерживаются Nuget, поэтому в libВ папке моего пакета я могу создавать подпапки для каждой из этих платформ, и Nuget будет делать правильно, когда библиотека установлена на любой из этих платформ.
Проблема в том, что у меня есть некоторые другие зависимости, которые различаются в зависимости от платформы,Например: на Windows Phone мне нужно включить zip-библиотеку стороннего производителя (wpSharpLibZip), но эта зависимость не существует на других платформах, в которые включены утилиты архивирования.
Поддерживается ли этот сценарий в Nuget?Я хочу, чтобы зависимость wpSharpLibZip существовала только на платформе Windows Phone.Нужно ли просто создавать отдельный пакет для каждой платформы?
Если этой функции не существует, я могу представить, что она реализована примерно так:
Изменение раздела манифеста пакетадля поддержки:
<dependencies>
<dependency id="Newtonsoft.Json" version="3.5.8" />
<dependency id="wpSharpLibZip">
<platform>Silverlight 4.0 - Windows Phone</platform>
</dependency>
</dependencies>
Или можно использовать отдельный файл .nuspec внутри каждой папки платформы (в папке lib), в котором могут быть указаны зависимости от платформы.