我们在组合'嵌套文件'和从源代码控制中排除文件时遇到问题。
我们正在使用代码生成为每个实体创建两个分部类 - 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。
我们如何拥有嵌套文件并将主文件放在源代码管理中,并将嵌套文件排除在源代码管理之外?
感谢您的帮助!
答案 0 :(得分:1)
嗯,我最后做的有点不同了。由于我无法使嵌套工作,我只是让生成的文件对项目不可见。
<Compile Include="MyBusinessObject.vb" />
<Compile Include="MyBusinessObject.Generated.vb">
<Visible>false</Visible>
</Compile>
当我“显示所有文件”时,我仍然可以看到文件,就像嵌套一样。不像嵌套文件那么酷,但这应该有效。我还没有看到任何副作用。
非常感谢。