代码之家  ›  专栏  ›  技术社区  ›  GreenIcicle

visual studio:如何从源代码管理中排除整个目录?

  •  1
  • GreenIcicle  · 技术社区  · 16 年前

    我有一个visual studio 2008项目,其中包含在预构建步骤中生成的代码文件。这些文件都不应包含在源代码管理中。我无法预测会有多少文件,或者它们的确切名称。 生成的文件通过通配符指令包含在Visual Studio项目文件中:

      <ItemGroup>
        <Content Include="CodeGen\*.xaml"/>
      </ItemGroup>
    

    visual studio将所有生成的文件标记为“对源代码管理是新的”,因此如果不小心,您将签入全部文件。通过“file>>source control>>exclude selection from source control”将文件从源代码管理中排除,唯一更改的是csproj.vspscc文件;其中,每个文件有一行,还有一个计数器:

    "NUMBER_OF_EXCLUDED_FILES" = "2"
    "EXCLUDED_FILE0" = "CodeGen\\File1.xaml"
    "EXCLUDED_FILE1" = "CodeGen\\File2.xaml"
    

    我要寻找的是一种从源代码管理中排除所有代码生成的文件的方法,这样visual studio就不会将任何文件识别为“new”或“changed”,不管文件夹的内容是什么。

    源代码管理是perforce。

    1 回复  |  直到 16 年前
        1
  •  4
  •   Caleb Huitt - cjhuitt    16 年前

    您可以在perforce中修改工作区规范,以自动忽略某些文件或目录。假设项目名为foo,工作区名为bar,则可以

    //depot/Foo/... //Bar/...
    -//depot/Foo/CodeGen/... //Bar/CodeGen/...
    

    其中负号表示该行指定要忽略的文件/目录,三倍句点表示该路径下的所有文件和目录。

    我假设这会导致忽略这些文件,即使visual studio尝试添加它们。我没有使用perforce/visual studio集成,所以我不确定。