web-dev-qa-db-ja.com

VS2015 NuGetがパッケージをTFSに追加しないようにする方法

VS2013には、.tfignoreを使用しないように指示した場合でも、NuGetが保留中の変更としてパッケージを追加するというバグがありました。 回避策 がありましたが、VS2015/NuGet3では機能せず、NuGetは古いトリックに戻りました。 「Nu」の回避策はありますか? :-)

Microsoft Connectアイテム: NuGetは.tfignoreにもかかわらずパッケージをTFSに追加します

43
Edward Brey

これは、NuGet Visual Studio 2015 Extensionの バージョン3.2 RC で修正されているようです。このバージョンへの更新は、少なくとも私にとってはうまくいきました。

この問題に関する議論は here にあります。NuGet3.1から3.2 RCに更新することをお勧めします。

更新

この修正を含む拡張機能のバージョン3.2がリリースされました( here が見つかりました)。

明確化

これを機能させるには、次の2つが必要です。

  1. disableSourceControlIntegration設定を含むnuget.configファイル
  2. disableSourceControlIntegration設定を尊重するNuGet Visual Studio 2015 Extensionのバージョン(3.2以降のバージョンは動作するはずです)

docs に示されているとおり:

NuGetは最初にデフォルトの場所からNuGet.configをロードし、次に現在のドライブのルートから現在のディレクトリで終わるNuGet.configという名前のファイルをロードします。

つまり、ユーザープロファイルの デフォルトの構成ファイル<solution><add key="disableSourceControlIntegration" value="true" /></solution>にある)またはソリューションディレクトリのNuGet構成ファイルに%APPDATA%\NuGet\NuGet.Configを指定できます。たとえば、\MySolution\.NuGet\NuGet.config

41
nick_w

%AppData%\NuGet\NuGet.Configファイルで、</configuration> XMLタグの直前に以下を追加します...

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

...任意のパスを指定できます-重要なことは、TFSワークスペースの外側に配置することです!

今、あなたは再びそのようなことを心配する必要はありません。ソリューションフォルダーにはパッケージが含まれなくなります。すべてのソリューションは、デフォルトで代わりにカスタムパッケージの場所を使用します。

注-これはユーザーごとに機能します。

これまで、私は解決策ごとに1コンフィグ(\.nuget\NuGet.Config)の方法で同じことをしてきました。洞察に@dsghiを感謝します!

ソリューションフォルダーに.nugetフォルダーが含まれていないことを確認してください(古い方法)。フォルダーがソリューションに含まれておらず、ファイルシステムにのみ含まれている場合でも、すべてをオーバーライドします!

5
Heliac

私は同じ問題を抱えていますが、実際の解決策はまだ見つかりません。

私がこれまでに見つけた唯一の回避策は次のとおりです。

  • [チームエクスプローラー-保留中の変更]でパッケージフォルダーを右クリックし、[元に戻す]を選択します。
0
Drol