Исключить вложенные файлы из системы контроля версий - PullRequest
4 голосов
/ 27 января 2009

У нас возникла проблема при объединении «вложенных файлов» и исключении файлов из системы контроля версий.

Мы используем генерацию кода для создания двух частичных классов для каждой сущности - 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 Ответ

1 голос
/ 29 января 2009

Ну, в итоге я сделал это немного по-другому. Поскольку я не мог заставить вложение работать, я просто сделал сгенерированные файлы невидимыми для проекта.

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

Я все еще могу видеть файлы, когда я "Показать все файлы", как во вложении. Не так круто, как вложенные файлы, но это должно работать. Я еще не видел побочных эффектов.

В любом случае, спасибо.

...