![](/img/trans.png)
[英]How to resolve nuget packages when using git submodules for VS Solution
[英]How to include NuGet packages "build" folder when using git with TFS
我是 git 的新手,正在將它與 TFS 和 Visual Studio 2013 一起使用。
我希望下載的 NuGet 包包含在 Git 源代碼管理中。
例如,我添加了一個包 System.Data.SQLite.Core.1.0.99.0,其中包含如下文件:
lib\net20\System.Data.SQLite.dll
lib\net35\System.Data.SQLite.dll
...
build\net20\x64\SQLite.Interop.dll
build\net20\x86\SQLite.Interop.dll
packages\\...\\lib
下的文件都包含在源代碼管理中,這就是我想要的。
但是packages\\...\\build
下的文件不包括在內。
我怎樣才能做到這一點? Visual Studio 2013 提供的 .gitignore 文件包括以下幾行:
# Build results
...
[Rr]elease/
x64/
build/
...
# Enable "build/" folder in the NuGet Packages folder since NuGet packages use it for MSBuild targets
!packages/*/build/
如果我沒看錯的話
build
文件夾。我嘗試通過多種方式編輯 .gitignore,包括添加:
!**/packages/*/build/
!**/packages/*/build/*/x64
但我嘗試過的一切都不起作用。 任何提示表示贊賞。
更新
我找到了一些有用的東西。
事實上,我的 git 存儲庫在子文件夾中包含幾個 VS 解決方案。 所以實際上我的包文件夾的路徑是:
root/folder1/folder2/packages
其中“root”是我的 GIT 存儲庫的根目錄,該目錄包含 .gitignore。
我可以通過添加以下行來使其工作:
!*/*/packages/*/build/
!*/*/packages/*/build/*/x64
這是一種解決方法,但我真正想要的是能夠在文件夾層次結構中出現的任何位置啟用packages/*/build
和packages/*/build/*/x64
。 前綴“**”不起作用。
重現這個:
要包含包文件夾中的所有文件,請添加以下內容:
!packages/*
刪除項目“.git”文件夾中的“ms-persist.xml”文件,然后重試。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.