VS2015にアップグレードしたばかりですが、今まで見たことのない問題が発生しています。ソース管理下にある既存のソリューションを使用して、ファイルを変更することができ、それらはTFSにチェックインする準備ができている保留中の変更として取得されます。
ただし、新しいファイル(このスクリーンショットの例としてTest.cs)を追加すると、新しいファイルとして選択されません。
右クリックして「ファイルをソース管理に追加」をクリックする必要があります
これは以前に問題になったことはありません。新しいファイルとして追加するものはすべて、保留中の変更として取得したいと思います。どうすればこれを実現できますか?以前のVisual Studioバージョンではこれを見たことがない。
この問題は別のマシンでも同じであることを確認できます。また、新しいファイルは「候補の変更の促進」でも選択されません。
[ファイルをソース管理に追加]をクリックすると、このメッセージが表示されます。
「選択したファイルは無視されます。それでもソース管理に追加しますか?」
私の.tfignoreファイルにはパッケージを無視するためのディレクティブがあるだけなので、このファイルが問題だとは思いません。
設定を元に戻すにはどうすればよいですか?
UPDATE:
これは、ワークスペースの「リリース」ブランチでのみ発生することに気付きました。他のすべてのブランチは期待どおりに動作します。さらに、ブランチを「Release」にして「Release1」と呼ぶと、問題は完全に解消されます!
特定の名前が「Release」のブランチは、TFSの特別な機能を使用しますか?
Releaseと呼ばれるフォルダーとその内容は、TFSから自動的に除外されます(デバッグおよび多くのファイルの種類と共に)。この link の「バージョン管理によって無視されるファイルをカスタマイズする」セクションで詳しく説明されているように、.tfignoreファイルを作成することにより、特定のフォルダーに対してこれをオーバーライドできます。
バージョン管理で無視されるファイルをカスタマイズする
デフォルトでは、特定の種類のファイル(.dllファイルなど)はバージョン管理によって無視されます。結果として:
無視されたファイルをローカルワークスペースにマップされているフォルダーに追加すると、チームエクスプローラーの[保留中の変更]ページに表示されません。
[ソース管理に追加]ダイアログボックスを使用して(たとえば、ソース管理エクスプローラーにドラッグして)無視されたファイルを追加しようとすると、自動的に[除外されたアイテム]タブに表示されます。
ルールを適用するフォルダーに.tfignoreというテキストファイルを配置することにより、無視するファイルの種類を構成できます。 .tfignoreファイルの効果は再帰的です。ただし、サブフォルダーに.tfignoreファイルを作成して、親フォルダーの.tfignoreファイルの効果をオーバーライドできます。
.tfignoreファイルルール
.tfignoreファイルには次の規則が適用されます。
#コメント行を開始
*および?ワイルドカードがサポートされています。
Filespecは、\文字を前に付けない限り再帰的です。
! filespecを無効にします(パターンに一致するファイルは無視されません)
.tfignoreファイルの例
ProjAサブフォルダーとそのすべてのサブフォルダーの.cppファイルを無視します
ProjA * .cppこのフォルダー内の.txtファイルを無視する
*。txtこのフォルダーとそのすべてのサブフォルダー内の.xmlファイルを無視します
*。xmlTempサブフォルダー内のすべてのファイルを無視する
\Tempこのフォルダー内またはそのサブフォルダー内の.dllファイルを無視しないでください。
!*。dll
この問題も発生していましたが、この場合は、「。Lib」で終わるフォルダーがあったためです。 SO質問: Visual Studio2015。TFSに追加されていないファイル
「リリース」というブランチがあるため、同じ問題があります。ただし、問題はVisual Studio 2015 Update 3のみです。VisualStudio 2015 Update 2を使用すると、すべて問題ありません。そのため、Visual Studio Update 3の動作を変更する必要があります。古い動作に戻ると便利です。
.tfignoreファイルを、無視しない拡張子を含むリリースフォルダーに追加します。
!*.vb
ソリューションフォルダーに存在する.tfignoreにこれを追加しようとしましたが、役に立ちませんでした。親リリースフォルダに1つを追加したときにのみ機能しました。
..\Release
..\Release\.tfignore <-- this one
..\Release\SolutionA\
..\Release\SolutionA\.tfignore