簡體   English   中英

如何防止VS2015 NuGet向TFS添加包

[英]How to keep VS2015 NuGet from adding packages to TFS

VS2013有一個錯誤,NuGet會將包添加為掛起的更改,即使你告訴它不要使用.tfignore 有一個解決方法 ,但它不適用於VS2015 / NuGet3,而NuGet又回到了它的舊技巧。 是否有“Nu”解決方法? :-)

Microsoft Connect項目: 盡管.tfignore,NuGet仍將包添加到TFS

看起來這在NuGet Visual Studio 2015擴展的版本3.2 RC中得到修復 - 至少這個版本的更新對我有用。

關於這個問題的討論可以在這里找到,建議從NuGet 3.1更新到3.2 RC。

更新

擴展版本3.2現已發布(在此處找到),其中包括此修復程序。

澄清

要實現這一點,您需要做兩件事:

  1. 包含disableSourceControlIntegration設置的nuget.config文件
  2. 一個尊重disableSourceControlIntegration設置的NuGet Visual Studio 2015擴展版本(從3.2開始的版本應該可以工作)

文檔中所示

NuGet首先從默認位置加載NuGet.config,然后從當前驅動器的根目錄開始加載任何名為NuGet.config的文件,並以當前目錄結束。

這意味着您可以在用戶配置文件默認配置文件中指定<solution><add key="disableSourceControlIntegration" value="true" /></solution> (在%APPDATA%\\NuGet\\NuGet.Config )或在解決方案目錄中的NuGet配置文件中,例如\\MySolution\\.NuGet\\NuGet.config

%AppData%\\NuGet\\NuGet.Config文件中,在</configuration> XML標記之前添加以下內容...

<config>
  <add key="repositoryPath" value="C:\NuGetPackages" />
</config>
<solution>
  <add key="disableSourceControlIntegration" value="true" />
</solution>

...你可以指定你想要的任何路徑 - 重要的是將它放在你的TFS工作區外面!

現在你再也不用擔心那些東西了。 您的解決方案文件夾將不再包含任何包; 所有解決方案都將默認使用您的自定義包位置。

注意 - 此工作基於每個用戶。

到目前為止,我一直在以one-config-per-solution( \\.nuget\\NuGet.Config )的方式做同樣的事情。 感謝@dsghi的見解!

確保您的解決方案文件夾不包含.nuget文件夾(舊方法)。 即使文件夾未包含在解決方案中且僅包含在文件系統中,它也會覆蓋所有內容!

我有同樣的問題,我還沒有找到真正的解決方案。

到目前為止我找到的唯一解決方法是:

  • 右鍵單擊“團隊資源管理器 - 待定更改”中的包文件夾,然后選擇“撤消”。

暫無
暫無

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

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