簡體   English   中英

將 git 與 TFS 一起使用時如何包含 NuGet 包“build”文件夾

[英]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”和“x64”,
  • 然后在“包”(NuGet 包文件夾)下時再次顯式啟用build文件夾。

我嘗試通過多種方式編輯 .gitignore,包括添加:

!**/packages/*/build/
!**/packages/*/build/*/x64

但我嘗試過的一切都不起作用。 任何提示表示贊賞。

更新

我找到了一些有用的東西。

事實上,我的 git 存儲庫在子文件夾中包含幾個 VS 解決方案。 所以實際上我的包文件夾的路徑是:

root/folder1/folder2/packages

其中“root”是我的 GIT 存儲庫的根目錄,該目錄包含 .gitignore。

我可以通過添加以下行來使其工作:

!*/*/packages/*/build/
!*/*/packages/*/build/*/x64

這是一種解決方法,但我真正想要的是能夠在文件夾層次結構中出現的任何位置啟用packages/*/buildpackages/*/build/*/x64 前綴“**”不起作用。

重現這個:

  • 在 git 存儲庫中創建一個子文件夾
  • 在此子文件夾中創建 Visual Studio 2013 解決方案
  • 使用 NuGet 將包“System.Data.SQLite Core (x86/x64)”添加到解決方案中。

要包含包文件夾中的所有文件,請添加以下內容:

!packages/*

刪除項目“.git”文件夾中的“ms-persist.xml”文件,然后重試。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM