![](/img/trans.png)
[英]Need to install all packages at once for a solution in vs 2015 using nuget
[英]How to resolve nuget packages when using git submodules for VS Solution
我有兩個存儲庫。 第一個是大型集成存儲庫,其中包含許多項目。 第二個是相對較小的解決方案,其中包含多個項目,這些項目正在分別開發,然后集成到第一個解決方案中。
我將第二個git存儲庫添加到第一個git存儲庫作為子模塊,因此我具有以下文件結構:
MainSolution.sln
SomeProject1
SomeProject2
packages
my-second-project
SecondSolution.sln
SomeProject3
SomeProject4
我的單獨存儲庫(還原nuget包后)看起來像
SecondSolution.sln
SomeProject3
SomeProject4
packages
現在,每個項目分別引用nuget restore packages文件夾。 因此,我添加的子模塊中的所有項目都無法還原其nuget軟件包,因為它們搜索的my-second-project/packages
文件夾不存在。 而且,如果我重新安裝nuget軟件包,那么我可以在git diff中看到它們開始引用根軟件包文件夾(例如..\\..\\packages
)。
我該如何解決?
我通過將所有*.csproj
文件中所有位置的..\\packages
更改為$(SolutionDir)\\packages
來解決此問題。 效果很好。 簡單的腳本涵蓋了它:
find -name "*.csproj" | xargs sed -i 's/\.\.\\packages/$(SolutionDir)\\packages/g'
不知道為什么nuget在默認情況下沒有這種行為,現在每當我更新/安裝nuget軟件包時,我都需要重新運行此腳本。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.