web-dev-qa-db-ja.com

Visual C#Studioプロジェクトのどのファイルをバージョン管理する必要がありませんか?

私はVisualC#Studioを初めて使用し(実際にはExpressエディションを使用していますが、別の開発者がフルバージョンを使用しています)、バージョン管理(svn)を使用しています。

このリポジトリはVisualC#Studioを使用している2人だけのものであるため、プロジェクトファイルをリポジトリに追加することは許容されます。しかし、そこには無関係なファイルがいくつかあるように感じます。 Visual C#Studioプロジェクトファイルに精通している人は、どのファイルを安全にsvn:ignoredできるか教えてもらえますか?

いくつかの疑わしいファイル:

  • project.csproj
  • project.csproj.Debug.cachefile
  • project.csproj.user
  • project.sln
  • project.suo
  • Content\Content.contentproj

.slnが必要だと確信していますが、この.suoとは何ですか?と.csproj?これらのいずれかは、プロジェクトの読み込み時にVisual C#Studioによって生成できますか?

45
Kai

含めないでください
置き場
obj
*。suo
*。ユーザー
_Resharper*(お持ちの場合 Resharper

インクルード
*。sln
*。csproj

Githubで ビジュアルスタジオプロジェクトの.gitignoreファイル を確認することもできます。

44
Carl Bergquist

.csprojはプロジェクト構造を定義します。それは不可欠です。

これは、TortoiseSVNのグローバル無視リストに追加するものです。

*.suo *.user bin obj *.pdb *.cache *_svn *.svn *.suo *.user *.build-res TestResults _ReSharper*
15
Agent_9191

バージョン管理しないでください:

  • .csproj.userは、ユーザーのプロジェクトファイル設定(スタートアッププロジェクトなど)です。
  • .suoはユーザーのソリューションファイル設定です

バージョン管理する必要があります:

  • .slnは、ソリューションファイル自体です(含まれているプロジェクトなど)
  • .csprojはプロジェクトファイルです

「contentproj」についてはよくわかりませんが、svnの下にあるはずのプロジェクトファイルのようです。

12
Jon Skeet

.slnファイルは.projファイル(プロジェクトごとに1つ)と一緒にソリューションを定義するので、それらをsvnに保持してください!

.suoファイル(個人設定-とにかくバイナリ)とbinまたはobjフォルダーをスキップできます。また、.cacheファイルを残すこともできます。

5
twk

追加するだけで、ビルド時に再生成されるものはすべて除外する必要があります。たとえば、ビルド前のイベントまたは場合によってはカスタムツールから生成されたファイル。

1
leppie

必要...

* .sln-ソリューションファイルには、すべてのプロジェクトへの参照とプロジェクト間の依存関係が含まれています。
*。csproj-プロジェクトはそれ自体をファイルします。これらは、プロジェクトに含まれるファイル、参照、およびプロジェクトのビルド手順を示します。

そうではない...

* .suo-これはユーザー設定ファイルです...

1
Jason Punyon

これを確認してください--- typevisualstudio AMDでは、.gitignoreファイルが生成されます。また、複数の言語を含むソリューションがある場合は、複数の言語を連結したり、ファイルを無視したりすることもできます。

間違いなくcsprojファイルが必要です... AnkhSVNまたはVisualSVNを試してみてください。これらのVSアドインは、必要なファイルのみをSVNに追加します。

または、ファイルがロードされなくなるまで、ディレクトリ構造からファイルを削除することもできます。

VSによるソリューションの構造を学ぶのに最適な方法であるため、この方法を試すことをお勧めします。

0
Gabriel Magana

これは他の回答にはまだ示されていないので:

Unity3DでVisualStudioを使用している場合は、*。csprojと* .slnの両方を.gitignoreファイルに安全に追加できます。通常の場合とは逆に。

実際、プロジェクト構造はVisual Studioではなく、Unity自体によって管理されています。それらをソース管理に保持することの唯一の結果は競合であり、何らかの理由でコミッター間で異なるVisualStudioバージョンが使用されている場合はさらにそうなります。

Unity 3Dの.gitignoreの例: https://github.com/github/gitignore/blob/master/Unity.gitignore

0
Pac0

ソリューションをビルドするたびに再コンパイルされるため、Visual Studioソリューションのユーザーオプションファイル(* .suo)とバイナリディレクトリ(binおよびobjフォルダー)は省略します。

0
Albireo