哪些.net文件应该从源代码管理中排除?

哪些.net文件应该从源代码管理中排除?,.net,version-control,.net,Version Control,源代码管理中应该排除.net应用程序中的哪些文件扩展名?为什么 这实际上取决于您的构建系统。签入运行完整生成所需的最少文件 通常,这意味着您排除了csproj和*.cs文件之外的所有文件。如果需要,您可能可以签入.sln文件。取决于项目,但我在.gitignore中为Silverlight+WPF项目提供了以下内容: # Visual Studio left-overs *.suo # 'user' settings like 'which file is open in Visu

源代码管理中应该排除.net应用程序中的哪些文件扩展名?为什么

这实际上取决于您的构建系统。签入运行完整生成所需的最少文件


通常,这意味着您排除了csproj和*.cs文件之外的所有文件。如果需要,您可能可以签入.sln文件。

取决于项目,但我在.gitignore中为Silverlight+WPF项目提供了以下内容:

# Visual Studio left-overs
*.suo        # 'user' settings like 'which file is open in Visual Studio'
*.ncb        # Used for debugging
*.user
*.ccscc      # Used for versioning
*.cache

# Editor left-overs
*~           # (x)emacs
*.bak        # Windows related
\#*\#        # (x)emacs
*.orig       # Own usage

# Compiled files
*/bin/
*/obj/
*/Obj/       # git is case sensitive
*/Generated_Code/
PrecompiledWeb
*/ClientBin
# Windows left-overs
Thumbs.db    # Having images in the source tree generates those files in Explorer
但是,.suo有点问题:它还包含本应作为项目设置的“用户”设置,例如Silverlight应用程序的启动页面

最好也是唯一的方法是迭代添加要排除的文件。如果您使用的是git,那么可以使用GitGUI快速、交互式地查看忘记排除的文件列表。gitgui中的Adapt.gitignore和refresh。迭代,直到剩下的文件是您键入的文件


某些类型的文件在前面不是很清楚。确保您了解所有签入的文件。例如,对于Silverlight项目中的RIA服务,我们有一个由Visual Studio生成的身份验证数据库,其中包含2个帐户,并生成了一个巨大的10Mb.MDB数据库文件(!)。一旦我们了解了它的来源,将其更改为SQL转储将其大小减少到500Kb(仍然很大)。始终需要在签入之前不断(重新)检查,因此没有明确的列表。

我从这个问题中得到了我的列表:


与任何“列表”一样,请确保查看排除项,并确保所有排除项都符合/不符合您的需要,但这是一个很好的开始。

以下是我在最近的.NET项目中使用的最小条目列表

*.vs
*.user
*.cache
bin/
obj/
  • 第一个条目省略隐藏的文件夹.vs及其内容
  • 最后两个会忽略这些文件夹下的任何内容

如果投票被否决,请随意添加评论。

如果您使用的是ReSharper,也可以添加_ReSharper*/无需对其缓存进行版本设置。这个问题的多变答案是: