从源代码管理中排除嵌套文件

时间:2009-01-27 19:14:33

标签: visual-studio visual-studio-2008 version-control visual-studio-2005 nested

我们在组合'嵌套文件'和从源代码控制中排除文件时遇到问题。

我们正在使用代码生成为每个实体创建两个分部类 - MyBusinessObject.vb和MyBusinessObject.Generated.vb

我们希望“生成”文件在手动文件下显示为嵌套文件。所以我们正在修改项目文件以包含这样的条目:

<Compile Include="MyBusinessObject.vb" />
<Compile Include="MyBusinessObject.Generated.vb">
    <DependentUpon>MyBusinessObject.vb</DependentUpon>
</Compile>

这本身就可以正常工作。由于我们已经在源代码控制下拥有代码生成模板,我们还希望将“生成”文件保留在源代码控制之外,因此我们只需要检查项目文件以重新生成而不是一切。所以我们修改了项目源代码控制文件,如下所示:

{
"FILE_VERSION" = "9237"
"ENLISTMENT_CHOICE" = "NEVER"
"PROJECT_FILE_RELATIVE_PATH" = ""
"NUMBER_OF_EXCLUDED_FILES" = "1"
"EXCLUDED_FILE0" = "MyBusinessObject.Generated.vb"
"ORIGINAL_PROJECT_FILE_PATH" = ""
"NUMBER_OF_NESTED_PROJECTS" = "0"
"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER"
}

这本身也很好。问题是当我们将这两个进程组合​​在一起时,MyBusinessObject.vb显示为从源代码控制中排除,即使它未在项目源代码控制文件中标记为排除文件,如MyBusinessObject.Generated.vb。

我们如何拥有嵌套文件并将主文件放在源代码管理中,并将嵌套文件排除在源代码管理之外?

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

嗯,我最后做的有点不同了。由于我无法使嵌套工作,我只是让生成的文件对项目不可见。

<Compile Include="MyBusinessObject.vb" />
<Compile Include="MyBusinessObject.Generated.vb">
    <Visible>false</Visible>
</Compile>

当我“显示所有文件”时,我仍然可以看到文件,就像嵌套一样。不像嵌套文件那么酷,但这应该有效。我还没有看到任何副作用。

非常感谢。