如何防止Visual Studio将生成的文件添加到源代码管理中

时间:2010-08-25 20:00:07

标签: visual-studio version-control visual-studio-2010 tfs

以下是我的特定情况:使用VS2010,Pex和TFS2008,生成的moles文件会自动添加到源代码控制(TFS)。

Pex将“project_name.moles”文件添加到测试项目中,然后在构建时自动生成3个文件:project_name.Designer.cs,project_name.Moles.dll和project_name.Moles.xml。我想将* .moles文件保存在TFS(它的源代码)中,但我不希望3个生成的文件在TFS中(它们仍然是项目的一部分,但它们是在首次构建在新系统上时生成的)。

我需要这种行为有两个原因: 1.将生成的代码存储在源代码控制中并不是一个好主意(我们不要在此讨论它的优点)。 2.特别是,DLL文件很糟糕,因为每次有人构建时,所有的文件都会被重新生成,因此所有文件都被检出,DLL文件被检出(不可合并),因此其他人无法继续构建他们当地的盒子。

Pex/Moles team are working on this但解决方案可能还需要几个月的时间。

是否有可以分配给这些项目文件的csproj属性,以便它们在项目中但不受版本控制管理?我不介意手工编辑csproj文件。

2 个答案:

答案 0 :(得分:0)

Moles不会在下一个版本(v0.94)中向项目添加任何文件。它将使用MSBuild按需生成程序集。

答案 1 :(得分:0)

我认为它更多地取决于您的版本控制工具而不是Visual Studio,因为通常您可以在版本控制配置中设置某种过滤器以排除某些文件/路径。

E.g。如果您使用Mercurial / Hg,您可以(并且应该)编辑您的存储库.hgignore文件并指定例如排除所有*.moles个文件和整个子树MolesAssemblies\*。 Iguess其他版本控制系统也有类似的选择。