最近、私は、大規模なシステムの計画の一環として、Visual Studioで様々なC#プロジェクトの作業を開始しました。このシステムは、 CとPerlで書かれたさまざまなプログラムとスクリプトの一覧です。私が現在取り組んでいるプロジェクトは、転覆に徹底的に取り組んでいるために重要な塊に達しています。私は、Visual Studioプロジェクトのリポジトリに何をすべきか、何をすべきではないのだろうと思っていました。ビルドアーチファクトであり、実際にコミットする必要のないさまざまなファイルを生成することが分かっています。Visual StudioでSVNを適切に使用するためのアドバイスがあれば誰でも知っていますか?現時点では、Visual Studio 2010ベータ版でSVN 1.6サーバーを使用しています。アドバイスやご意見は歓迎します。SubversionおよびVisual Studioプロジェクトのベストプラクティス
答えて
は、ここで私はSVNから除外するVS固有のファイルの私のリストです
あなたは、Visual Studioのソースコントロールに、次のファイルを追加することができます。
- ソリューションファイル(
*.sln
)。*.csproj
,*.vbproj
などのプロジェクトファイル。- Visual Studioプロジェクトの実行時動作を制御するために使用される、XMLに基づくアプリケーション構成ファイル。
- ソリューション・ユーザー・オプション・ファイル(
*.suo
):あなたがソース管理に追加することはできませんファイルには以下のものが含まれます。
- プロジェクトユーザオプションファイル。たとえば、
*.csproj.user
,*.vbproj.user
ファイルです。- Webプロジェクトの仮想ルートの場所を制御するWeb情報ファイル(例:
*.csproj.webinfo
、*.vbproj.webinfo
)。- 出力ファイルを作成します(例:
*.dll
および*.exe
)。
それは良いリストです。基本的には、プロジェクトをコンパイルするのに必要な最小限のファイルが必要です。 –
少なくともいくつかのケースでは、 '.user'をコミットするために[case](http://stackoverflow.com/a/72370/4847772)が作られています。追加しないファイルは、['svn:ignore'](http://svnbook.red-bean.com/en/1.8/svn.advanced.props.special.ignore.html)に追加する必要があります。 – PJTraill
Visual Studio 2015を使用している人は、ソース管理から '.vs'フォルダを除外したいでしょう。 http://stackoverflow.com/q/31526899/2615878を参照してください。 – Theophilus
ソリューションレベル:
.sln
ソリューションファイル- を追加
.suo
ソリューションのユーザーオプションが
プロジェクトレベルファイルを無視します:
- を、
.vbproj
を.csproj
を追加します(とC++ proj?)ファイル .csproj.user
を無視し、.vbproj.user
ファイル- は
bin
ディレクトリ - を無視
obj
ディレクトリを無視し、実行時に生成されます任意のファイル/ディレクトリ(つまり、無視してください。ログ)
使用するとVSのアドインた場合、彼らはまた、すなわち(無視。ReSharperのは.resharper
と.resharper.user
ファイルを生成します)必要なファイルを生成することがあります。
ignoreアイテムは、ファイル名(つまり、MyProject.csproj
)、またはワイルドカードパターン(つまり、*.csproj.user
)で明示的に無視することができます。あなたは無視その後構築ソースのクリーンコピーをチェックアウトし、設定したら
はその後何の修飾(すなわち。新しいバージョン管理外のファイル)を示さないはずです。
AnkhSVN - Visual Studio 2008/2010用のSubversionソースコントロールプラグインを使用することをお勧めします。
これを使用して、ソリューション、プロジェクト、およびソースのリポジトリへの最初の追加およびコミットを実行できます。ビルドアーチファクトは追加されません。ビルドで生成されたものはすべて追加されず、ソリューションによって参照されるファイルのみが追加されます。必要なビットとピースがソリューションにない場合は、後で追加できます。
私は手動でバージョン管理してはいけないと思うすべてのファイルを含めます。
マイグローバル無視パターンは次のとおりです。
.dllファイルの.pdb .exeの.cache .webinfoた.snkビンOBJデバッグ_Resharper。ユーザーReSharperの
バージョン管理に次のファイルを置き:
- .DSW(VS6ワークスペース)
- .DSP(VS6プロジェクト)
- の.sln(VSソリューション)
- * projの。 (さまざまなタイプのVSプロジェクトファイル)
- もちろん、作成したソースファイルやその他の成果物
ないは、バージョン管理に次のファイルを入れています:
- .NCB - (ETCウィンドウ配置のようなユーザーのワークスペースの設定、私は思います)
- .user(ブレークポイントのようなユーザーのプロジェクト設定など - 私は思う)。また
は、(生成される可能性がある、ヘッダーのように)任意のオブジェクトファイル、実行ファイル、自動生成されたファイルに入れないでください。
実行ファイルやその他の生成ファイルについては、リリースをアーカイブできるようにする場合は例外があります。これは良いアイデアかもしれませんが、おそらくあなたのソースコードと少し違ったやり方で管理したいと思うでしょう。これを行う場合は、.pdbファイルもアーカイブして、あとでデバッグできるようにしてください。シンボルサーバを使用してアーカイブシンボルを保存したい場合があります(シンボルサーバとそのドキュメントについてはDebugging Tools for Windowsを参照)。
Ankh.Load
*.projdata
*.pdb
*.positions
*proj.user
*proj.*.user
*.ncb
*.suo
*.plg
*.opt
*.ilk
*.pch
*.idb
*.clw
*.aps
Nit-picking:あなたは「実行ファイルを入れないでください」と言っていますが、次の段落ではあなたが言うかもしれません! – PJTraill
無視リストを使用している場合、SVNでは大文字と小文字が区別されます。 binフォルダとbinフォルダは別々に無視してください。
また、質問がありました。なぜステータスアイコンを更新するのに何度か時間がかかるのですか?時には、それは非常に混乱します。
Mercurialの無視リストについては、Mercurial .hgignore for Visual Studio 2008 projectsを参照してください。私はSVN無視リストの構文に慣れていないが、このスレッドはVisual Studioで何を無視するべきかの良いリストをいくつか持っている。
- 1. Visual Studio、VB.NETおよびNamespaces
- 2. CMakeおよびVisual Studioリソースファイル
- 3. vc_varsall.batおよびVisual Studio 2015
- 4. Visual Studioでのデータアクセス、ビジネスルールおよびビジネスオブジェクトのプロジェクトの作成
- 5. XNA Game Studio 3およびVisual Studio 2010
- 6. 異なるプロジェクトのEntity Framework 5およびVisual Studio 2012 POCOクラス
- 7. CMake、Visual Studio、およびinclude_external_msproject。プロジェクト設定を変更する
- 8. Visual Studio 2010とSubversion
- 9. Visual Studio 2012およびTFS 2010のカスタムポリシー
- 10. Visual StudioおよびEclipseのC++グラフィックライブラリ
- 11. Visual Studio 2017およびwebpackの問題
- 12. ActiveMQの-CPPおよびVisual Studio 2003
- 13. Visual Studio 2015およびVisual Studio 2017(コミュニティ版)+ Unity
- 14. Visual Studio 2013およびReSharper 8 Intellisense Slow
- 15. Visual Studio 2008および.NET Framework 4.0
- 16. TFS 2013およびVisual Studio 2017構文
- 17. Visual Studio 2015およびHTMLデザインビュー
- 18. Visual Studio Professional 2013および.NET Framework 4.6.1
- 19. PhantomJS 2.1.1/Webdriver 2.53.0およびVisual Studio/C#
- 20. SCIPおよびVisual Studio:エラーLNK2001
- 21. SAP HANAおよびVisual Studioコミュニティデータソース
- 22. アクセス拒否エラー(Visual StudioおよびWatiN)
- 23. サイドバイサイドアセンブリ、Windows 7、およびVisual Studio 2005
- 24. Visual Studio 2010、AnkhSVN、およびSVN 1.7.4
- 25. Visual Studio、Distributed Version Control、およびSourceforge
- 26. Visual Studio 2012 Expressおよび.NET 2.0
- 27. 私はインデントおよびVisual Studioエディタ
- 28. Windows CE、UnicodeおよびVisual Studio 2008
- 29. Visual Studio 2015およびSQL Server
- 30. Visual Studio 2017およびMySQL EntityFramework
これはVS2010 C#です。これとVS2010 C++の間にはいくつかの違いがあります。タグC#を付けます。 – Bitterblue