Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual C#Studio项目中的哪些文件不';不需要进行版本控制吗?_C#_Visual Studio_Visual Studio 2008_Svn - Fatal编程技术网

Visual C#Studio项目中的哪些文件不';不需要进行版本控制吗?

Visual C#Studio项目中的哪些文件不';不需要进行版本控制吗?,c#,visual-studio,visual-studio-2008,svn,C#,Visual Studio,Visual Studio 2008,Svn,我是Visual C#Studio的新手(实际上使用的是快速版,但另一个开发人员使用的是完整版),我们使用的是版本控制(svn) 我可以接受将项目文件添加到存储库中,因为这个repo只适用于我们两个使用visualc#Studio的人。但感觉里面有一些不相关的文件。熟悉Visual C#Studio项目文件的人能告诉我哪些文件可以安全地被svn:忽略吗 一些可疑文件: project.csproj project.csproj.Debug.cachefile project.csproj.us

我是Visual C#Studio的新手(实际上使用的是快速版,但另一个开发人员使用的是完整版),我们使用的是版本控制(svn)

我可以接受将项目文件添加到存储库中,因为这个repo只适用于我们两个使用visualc#Studio的人。但感觉里面有一些不相关的文件。熟悉Visual C#Studio项目文件的人能告诉我哪些文件可以安全地被svn:忽略吗

一些可疑文件:

  • project.csproj
  • project.csproj.Debug.cachefile
  • project.csproj.user
  • project.sln
  • 苏项目
  • Content\Content.contentproj

我肯定需要。sln,但这是什么。苏?还有csproj?是否可以/应该在加载项目时由Visual C#Studio生成这些文件?

我们也与Visual Studio C#和SVN合作,我不知道所有的项目文件,但我们只排除完整的bin目录。

该.sln文件与.proj文件(每个项目一个)一起定义了您的解决方案,所以把它们放在你的svn里

您可以跳过.suo文件(个人设置-无论如何都是二进制文件)以及bin或obj文件夹。也可以保留.cache文件。

需要时

*.sln-解决方案文件包含对所有项目的引用以及项目之间的依赖关系。
*.csproj-项目文件本身。这些文件说明项目中包含哪些文件、引用以及项目的构建步骤

不是


*.suo-这是一个用户设置文件…

不应进行版本控制:

  • .csproj.user是用户的项目文件设置(例如启动项目)
  • .suo是用户的解决方案文件设置
应进行版本控制:

  • .sln是解决方案文件本身(它包含哪些项目等)
  • .csproj是项目文件

我对“contentproj”不太清楚,但它听起来像是一个项目文件,应该在svn下。

您肯定需要csproj文件。。。您可能需要尝试AnkhSVN或VisualSVN,这些VS加载项只向SVN添加所需的文件

或者可以从目录结构中删除文件,直到不再加载为止


我建议以这种方式进行实验,因为这是了解解决方案是如何通过VS构建的一种很好的方法。

不包括
bin
obj
*.suo
*.用户
\u Resharper*
(如果有)

包括
*.sln
*csproj先生


您还可以在github上检查

每次构建解决方案(bin和obj文件夹)时,我都会忽略Visual Studio解决方案用户选项文件(*.suo)和二进制文件目录。csproj定义项目结构。这是至关重要的

这是我在Tortoise SVN中添加到全局忽略列表的内容:

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

要补充的是,应该排除在构建时重新生成的任何内容。例如,从预构建事件生成的文件,或者在某些情况下是自定义工具。

请检查此项-amd您将为您生成一个.gitignore文件,此外,如果您有一个包含多种语言的解决方案,您还可以将多种语言/ide“忽略文件”连接在一起。

因为这在其他答案中尚未指出:

在将Visual Studio与Unity 3D一起使用的情况下,可以安全地将*.csproj和*.sln添加到.gitignore文件中,这与通常的情况相反

事实上,项目结构是由Unity本身管理的,而不是由VisualStudio管理的。将它们保留在源代码管理中的唯一后果是冲突,如果由于某些原因,提交者之间正在使用不同的VisualStudio版本,则更是如此


Unity 3D的gitignore:

情况并非总是如此。由SingleFileGenerator生成的文件,以及与.xaml、.resx和表单关联的设计器生成的文件都应该签入。这正是我在某些情况下说的原因。sln是解决方案文件,csproj是c#项目文件。您将需要这两个文件。suo是解决方案用户选项文件,顾名思义,您不需要该文件。它只包含用户选项。也都是csproj。文件也可以被忽略。来自微软的显式列表。