VS2015およびVS2017の場合
TFS(オンプレミス)またはVSO(Visual Studio Online-Azureがホストするサービス)と連携
NuGetのドキュメントには、これを実現する方法の説明が記載されており、VSTS(AzureでホストされているTFS)に対してVisual Studio 2015およびVisual Studio 2017で問題なく追跡できました。2016年11月の時点で、すべてが完全に更新されています。
NuGetの指示に従うことをお勧めしますが、私がやったことを簡単にまとめます。
packages
フォルダがTFSにコミットされていないことを確認してください。ある場合は、そこから取り出します。
- 以下で作成する他のすべてのものは
.sln
、特に指定されていない限り、ファイルが存在する同じフォルダーに入ります(NuGetの指示はこれについて完全に明確ではありません)。
.nuget
フォルダを作成します。Windowsエクスプローラを使用して名前を付けて.nuget.
、名前を付けて正常に保存できます.nuget
(最後のピリオドは自動的に削除されます)が、直接名前を付けようとして.nuget
も機能しない場合があります(Windowsのバージョンによっては、エラーが発生するか、名前が変更される場合があります) )。または、ディレクトリにnugetという名前を付け、コマンドラインプロンプトで親ディレクトリを開きます。タイプ。ren nuget .nuget
- そのフォルダー内に
NuGet.config
ファイルを作成し、次の内容を追加して保存します。
NuGet.config:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<solution>
<add key="disableSourceControlIntegration" value="true" />
</solution>
</configuration>
.sln
のフォルダに戻り、新しいテキストファイルを作成して名前を付けます.tfignore
(Windowsエクスプローラを使用している場合は、上記と同じトリックを使用して名前を付けます.tfignore.
)。
- 次の内容をそのファイルに入れます。
.tfignore:
# Ignore the NuGet packages folder in the root of the repository.
# If needed, prefix 'packages' with additional folder names if it's
# not in the same folder as .tfignore.
packages
# include package target files which may be required for msbuild,
# again prefixing the folder name as needed.
!packages/*.targets
- これをすべて保存してTFSにコミットし、Visual Studioを閉じて再度開くと、チームエクスプローラーはパッケージフォルダーを保留中のチェックインとして識別しなくなります。
- Windowsエクスプローラーを介して
.tfignore
ファイルと.nuget
フォルダーをすべてのさまざまなソリューションにコピーして貼り付け、それらをコミットしました。packages
フォルダーがソース管理リポジトリに忍び込むことはなくなりました。
さらなるカスタマイズ
私のものではありませんが、sirkirbyによるこの.tfignore
テンプレートは便利だと思いました。私の回答の例はNuget packages
フォルダーをカバーしていますが、このテンプレートには他にもいくつかのものが含まれており、これをさらにカスタマイズしたい場合に役立つ追加の例が提供されています。