假設我有以下解決方案,其中多個版本的相同代碼都針對不同的框架,我想從中生成一個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
文件,一個<file>
部分包含來自其他項目的二進制文件,但有沒有辦法讓nuget自動將組合的解決方案輸出放入適當的結構(並且還檢測所有項目的packages.config中的依賴項?
我可能只是做,雖然我沒有完全做到搞清楚它是什麼,我想:) 1.這將是很好的解決方案,以點的NuGet並將它把事情做好 2.它如果生成的包內的不同框架版本可能具有不同的依賴關係,那將會很好。例如WP版本可能需要額外的軟件包來提供不屬於WP核心的類型。 我會將您的答案標記爲現在已被接受,並考慮在這個問題上多一點。 –
在sln上運行nuget包會很好。我想在一個包中封裝一組相關的程序集,使它們比單獨的包更容易管理。他們不相互依賴。 – PenFold
這是一個勝利的原因是建立服務器非常方便建立和發佈一個單一的項目包,但成爲一個噩夢,當你需要上述。對我而言,還有一些關鍵故事缺失,使得整個功能變得多餘。誰*不需要爲每個CLR打包? –