2009-10-29 4 views
44

私はVisual C#Studioを初めて使っています(実際にはExpress Editionを使用していますが、別の開発者はフルバージョンを使用しています)、バージョンコントロール(svn)を使用しています。Visual C#Studioプロジェクトのどのファイルをバージョン管理する必要はありませんか?

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

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

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

.slnは必須ですが、これは何ですか?そして.csproj?プロジェクトの読み込み時にVisual C#Studioで生成することができますか?

+0

SLNは、ソリューションファイルでは、csprojは、C#のプロジェクトファイルです。これらのファイルの両方が必要になります。 suoはソリューションユーザオプションファイルであり、その名前が示すように、あなたはそのファイルを望んでいません。それは単にユーザーオプションを含んでいます。また、すべての* .csproj。*ファイルも無視することができます。 – mrsheen

+0

http://msdn.microsoft.com/en-us/library/ee817674.aspx Microsoftの明示的なリストがあります。 – JMD

答えて

0

Visual Studio C#とSVNでも動作しますが、すべてのプロジェクトファイルについてはわかりませんが、binというディレクトリのみを除外しています。

5

.slnファイルは、ソリューションを.projファイル(プロジェクトごとに1つ)と一緒に定義するので、svn!

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

1

必要な...

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

ない...

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

12

バージョン管理すべきではありません:

  • .csproj.userは、ユーザーのプロジェクトファイルです設定(スタートアッププロジェクト)
  • .suoが

ユーザーのソリューションファイルの設定であるべきバージョン管理さ:

  • の.slnは、ソリューションファイルそのものである(それがなどが含まれて投写するもの)
  • .csprojプロジェクトファイル

である私は、「contentproj」についてはよく分からないが、それは聞こえますそれはsvnの下にあるはずのプロジェクトファイルです。

0

あなたは確かにcsprojファイルが必要です... AnkhSVNまたはVisualSVNを試してみるとよいでしょう。それらのVSアドインは、SVNに必要なファイルだけを追加します。

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

私はVSによるソリューションの仕組みを学ぶのに最適な方法であるため、この方法で実験することをお勧めします。

0

は、私は、Visual Studioソリューションユーザーオプションファイル(* .suo)と、彼らはあなたがあなたのソリューション(ビンOBJフォルダ)を構築するたびに再コンパイルを受けるようバイナリディレクトリを除外します。

15

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

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

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

だけで、ビルド時に再生します何かを追加するために、除外すべきです。たとえば、prebuildイベントまたは場合によってはカスタムツールから生成されたファイルです。

+1

これは必ずしもそうとは限りません。 SingleFileGeneratorによって生成されたファイルと.xamlに関連付けられたデザイナ生成ファイル。resx、およびフォームにチェックインする必要があります。 –

+0

それは私がいくつかの事例を述べた理由です。 – leppie

0

これをチェックしてください - type visualstudioあなたのために.gitignoreファイルが生成されます。複数の言語を含む解決策があれば、複数の言語を結合することもできます。

0

これは、まだ他の回答で指摘されていないとして:

あなたはユニティ3DでのVisual Studio を使用している場合は、あなたが安全に.gitignoreファイルに* .csprojや* slnファイルの両方を追加することができますこれは、通常の場合とは対照的です。

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

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

関連する問題