我有我想創建一個Nuget包它具有以下情形庫: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>
或者另一種方式可以是允許在每個平臺文件夾內(在lib文件夾下)分開一個單獨的.nuspec文件,這可以說明特定於平臺的依賴關係。
這已經在CodePlex上的NuGet提交網站作爲提案見https://docs.nuget.org/create/nuspec-reference#specifying-dependencies-in-version-2.0-and-above:http://nuget.codeplex.com/workitem/697 – 2011-02-15 20:45:24