4

基本的に私の質問は、C# のどの部分をリポジトリに保存します? 昨年受講したクラスで、生成されたファイルをバージョン管理に保存しないように言われました (したがって、c を作成している場合は、.o/.exe ファイルを保存しないでください)。

しかし、c の場合は簡単です。.c、.h、および makefile を保存するだけで、レポをチェックアウトして make ファイルを実行するだけで、すべてが機能するからです。

しかし、Visual Studio の C# プロジェクトでは、何を保存するかを決定する際に問題が発生します。

.cs ファイルだけを保存すると、それらを他のコンピューターのプロジェクトに追加するのが面倒です。プロジェクトファイルも保存することになっていますか?

私が直面している問題は、以前はプロジェクト ディレクトリ全体を保存していたことです。しかし、プロジェクトを別のコンピューターに配置すると、temporaryKey が間違っていると不平を言うでしょう (.pfx ファイル)...

では、何を保管すればよいのでしょうか。

ありがとう。

4

6 に答える 6

5

彼らは私のやり方です-私は以下を除くすべてを保存しています:

  • binおよびobjソリューション内の各プロジェクトのディレクトリ
  • .userおよび.suoファイル - ユーザー固有のプロジェクトとソリューションのオプションが含まれています
  • Resharper によって生成されたファイル (Resharper は、ソリューション フォルダーにいくつかのファイルを作成する Visual Studio 拡張機能です)

基本的に、経験則では、特定のマシンに固有のものや、ツールによって生成されたもの (コンパイラーや Visual Studio 拡張機能 - 私の場合は Resharper など) を保存することはありません。

于 2012-07-09T19:31:13.713 に答える
2

このアドバイスは、ほとんどの C# プロジェクト、特に UI での作業方法に完全には適合しません。たとえば、Visual Studio はデザイナー ファイルを生成します。 .

一般に、コンパイルのアーティファクト (コードによって生成されるアセンブリ) であるアイテムは格納しないでください。

コンパイルと実行に不要な項目 (ユーザー固有の設定ファイルなど) もチェックインしないでください。

于 2012-07-09T19:30:05.023 に答える
2

私は他のすべての人に同意します-バイナリ、.suo、および.userを無視します-しかし、AnkhSVNを使用すると、VSから直接コミットして機能するため、これが大幅に簡素化されることがわかりました。

于 2012-07-09T19:33:28.923 に答える
1

他の誰もがこれの大部分をカバーしているように見えますが、私は2セント追加すると思いました. C# 開発では、次のグローバルな無視パターンを使用します。これには、システム ファイルと不要なソリューション ファイルが含まれます。

*.o *.lo *.la *.al .libs *.so .so.[0-9] *.a *.pyc *.pyo .rej . ~ ~ # # .#* .*.swp .DS_Store thumbs.db Thumbs.db *.bak *.class *.dll *.exe *.mine *.obj *.ncb *.lib *.log *.idb * .pdb *.ilk *.msi *.res *.pch *.suo *.exp . ~ .~ ~ . cvs CVS .CVS .cvs release Release debug Debug ignore 無視 obj Obj *.csproj.user *.user bin BIN

svn のグローバル無視パターンとローカル無視パターンの詳細については、次を参照してください。

http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-ignore.html

一般的な経験則

生成された出力やユーザー固有の設定を保存しないでください。また、不要なバイナリ ファイルはコンテキスト マージを使用できないため、可能であれば保存しないでください。

于 2012-07-09T19:47:26.447 に答える
1

ソリューション フォルダー全体を保存しますが、*.user、*.suo ファイルの例外を追加します。また、bin フォルダーと obj フォルダーもコミットしません。

于 2012-07-09T19:31:23.557 に答える
1

すべてをソリューション フォルダーとそのサブフォルダーに保存します。ただし、これらの除外を次の方法で追加します

`svn:ignore` = 
*.suo
*.ncb
*.user
_ReSharper.*
[Bb]in
[Oo]bj
[Dd]ebug
[Rr]elease

参考までに
svn:ignore
TortoiseSVN

于 2012-07-09T19:33:13.540 に答える