Visual C#Studio项目中的哪些文件不需要进行版本控制?
我是新来Visual C#Studio(实际上使用Express版本,但另一个开发人员正在使用完整版本),我们正在使用版本控制(svn)。
将项目文件添加到存储库是可以接受的,因为这个repo只适用于我们两个人使用Visual C#Studio。 但感觉就像在那里有一些不相关的文件。 熟悉Visual C#Studio项目文件的人能否告诉我哪些文件可以安全地被svn忽略?
一些可疑文件:
- project.csproj
- project.csproj.Debug.cachefile
- project.csproj.user
- project.sln
- project.suo
- 内容\ Content.contentproj
我确定.sln是必需的,但这是什么? 和.csproj? Visual C#Studio在加载项目时可以/应该生成这些中的任何一个吗?
不包括
箱子
OBJ
名为.suo *
*。用户
_Resharper*
(如果你有Resharper )
包括
*的.sln
* .csproj的
您也可以在github上检查.gitignore文件以获得visual studio项目 。
.csproj定义了项目结构。 这是至关重要的。
这就是我在Tortoise SVN的全局忽略列表中添加的内容:
*.suo *.user bin obj *.pdb *.cache *_svn *.svn *.suo *.user *.build-res TestResults _ReSharper*
不应该版本化:
- .csproj.user是用户的项目文件设置(例如启动项目)
- .suo是用户的解决scheme文件设置
应该版本化:
- .sln是解决scheme文件本身(它包含的项目等)
- .csproj是项目文件
我不知道“contentproj”,但它听起来像是一个项目文件,应该在svn下。
.sln文件与.proj文件(每个项目一个)一起定义您的解决scheme,因此请将它们保存在svn中!
您可以跳过.suo文件(个人设置 – 二进制无论如何)以及bin或obj文件夹。 也可以留下.cache文件。
需要…
* .sln – 解决scheme文件包含对项目之间所有项目和依赖项的引用。
* .csproj – 项目文件本身。 这些告诉哪些文件包含在项目中,引用和项目的构build步骤。
不…
* .suo – 这是一个用户设置文件…
只要补充一下,在构build时重新生成的东西都应该被排除。 例如,从预build事件生成的文件,或在某些情况下自定义工具。
我们也使用Visual Studio C#和SVN,并且我不知道所有的项目文件,但是我们只排除完整的bin目录。
你肯定需要csproj文件…你可能想尝试AnkhSVN或VisualSVN,那些VS插件只添加所需的文件到SVN。
或者你可以从你的目录结构中删除文件,直到它不再加载。
我build议这样做,因为这是一个很好的方式来学习如何一个解决scheme是VS的结构。
我将Visual Studio解决scheme用户选项文件(* .suo)和二进制文件目录省略掉,因为它们在您每次构build解决scheme( bin和obj文件夹)时都会重新编译。
检查一下 – inputvisualstudio ,你将会为你生成一个.gitignore文件,如果你有一个包含多种语言的解决scheme,你也可以连接多个语言/ ide'忽略文件。