Структура проектов в управлении версиями - конкретная.NET

Этот ответ основан на моих предположениях и вдохновлен комментариями, которые я получил до сих пор. Я думаю, что это не может считаться приемлемым ответом. Это просто мое понимание неожиданного «основного» переполнения. Пусть это кому-нибудь послужит.

Как в первом примере, почему «main» переполняет содержащую html css-таблицу?

Высота «main» установлена ​​на 100% от содержащей анонимную ячейку, которая также содержит ненулевую высоту "заголовок". Это, очевидно, означает, что «main» переполняет ячейку, поскольку:

PERCENT_HEIGHT (ячейка, 100%) + HEIGHT (заголовок)> HEIGHT (ячейка)

blockquote >

Но как рассчитать процентную высоту для «main», поскольку предполагается, что высота анонимной ячейки равна «auto»?

В текущих реализациях высота анонимной ячейки вычисляется, чтобы быть равным вычисленной высоте строки вместо "авто" (ячейка заполняет строку). Это происходит, когда содержащая таблица и строка имеют явное значение свойства высоты в процентах, а строка содержит более одной ячейки.

Почему анонимная высота ячейки не увеличилась, так как сумма высоты "main" и "header" больше 100%?

В круговой зависимости расчет высоты ячейки и высоты содержимого ячейки. Последний представляет собой процентную высоту первого, которая, как ожидается, будет зависеть от последнего (соответствует содержанию ячейки).

Из CSS 2.1: https://www.w3.org/TR/CSS21/tables.html#height-layout

В CSS 2.1 высота поле ячейки - это минимальная высота, необходимая для содержимого.

blockquote>

TL; DR

Обратите внимание, что текущие реализации могут вести себя по-разному, когда высота строки и / или ячейки указывается с использованием процентных значений.

Из CSS 2.1: https://www.w3.org/TR/CSS21/tables.html#height-layout

CSS 2.1 не определяет, как Высота ячеек таблицы и строк таблицы рассчитывается, если их высота указана с использованием процентных значений.

blockquote>

См. также

7
задан Community 23 May 2017 в 11:57
поделиться

7 ответов

Если Ваши TTB распространены, а не на проект, нет никакой проблемы с ним. Или я пропускаю что-то?

0
ответ дан 7 December 2019 в 20:38
поделиться

Мы пошли с очень упрощенным подходом:

Файловая структура:

  • Папка решения (содержит файл решения, сценарии сборки, возможно, больше?)
    • Папка проекта
    • Папка проекта 2
    • Ссылки (содержит совместно используемые сборки для решения).

Затем мы просто проверяем все содержание папки решения в нашем репозитории. Мы используем один репозиторий для каждого решения. Я не уверен - ли это оптимальный способ организовать решение, но это работает на нас.

Кроме того, мы переходим на высшем уровне, не на проект.

1
ответ дан 7 December 2019 в 20:38
поделиться

Иначе:

StackOverflowIsAwesome
  /trunk
    /database
    /datafiles
    /documents
    /build
    /installer
    /lib 
        /External_DAL (external that points to shared library)
    /utilities
    /vendor
    /src
      /StackOverFlowIsAwesome
        /StackOverFlowIsAwesome.csprj
        /bin
        /...
      /StackOverFlowIsAwesomeTests
        /StackOverFlowIsAwesomeTests.csprj
        /bin
        /...
  /branches
  /tags

Это было бы для каждого проекта. Так как мы используем сценарий сборки, мы не должны хранить наш файл решения в SVN.

1
ответ дан 7 December 2019 в 20:38
поделиться

При контакте с несколькими проектами, который составляет Решение для Visual Studio, которое трудно решить, как структурировать вещи правильно.

Один критический аспект, который необходимо будет сделать со структурой, помогают получить все файлы для конкретного выпуска. Важно сделать это максимально легким. В подверсии, копирующей корневую папку в тег ответвления, легче затем то, чтобы не забывать повторить ту же операцию для X проектов.

Способность работать на длительные периоды за пределами основной соединительной линии также важна. Необходимо будет рассмотреть это также.

Можно найти, что программное обеспечение имеет много компонентов, это естественно группируется. Вы могли сделать что-то вроде этого

/tag

/core_library
   /branch
   /main

/business_logic
  /branch
  /main

/report_library
  /branch
  /main

/my_ui
  /branch
  /main

Нет никакого легкого ответа. Что Вы делаете действительно зависит от Вашего определенного проекта. Если все все еще выходит спутанная путаница затем, возможно, необходимо посмотреть на то, как проект разработан, и посмотрите, может ли это быть изменено для улучшения понимания.

0
ответ дан 7 December 2019 в 20:38
поделиться

Можно посмотреть на это предыдущее сообщение или этот проект. Проект создает древовидную структуру разработки.NET (требует.NET 3.5).

0
ответ дан 7 December 2019 в 20:38
поделиться

Для больших проектов мы обычно используем этот формат здесь:

/Project
    /trunk
       /lib/              # Binary imports here (not in svn)

       /src               # Solution file here
          /Libraries      # Library assemblies here
             /StackOverflowIsAwesome.Common

          /Products       # Delivered products here
             /StackOverflowIsAwesome.Site

          /Projects       # internal assemblies here
             /StackOverflowIsAwesome.Tests
    /branches
        /1.x
    /tags
        /StackOverflowIsAwesome-1.0

В зависимости от фактического проекта не исходные файлы (документы, и т.д.) имеют каталог под магистральным корнем, и дополнительные ресурсы разработки находятся под src.

Независимые проекты под находятся под их собственным корнем Проекта/, но в том же репозитории.

0
ответ дан 7 December 2019 в 20:38
поделиться

Я делаю это этот путь:

  1. Создайте проект в VS
  2. Импортируйте все в папке проекта к repos/projectname/trunk
  3. Добавьте repos/branches и repos/tags папки

Это дает мне структуру репозитория как:

projectname
    / trunk
        /bin
        /obj
        /Properties
        projectname.sln
    /tags
    /branches

И я могу просто оставить все файлы в их местах по умолчанию в файловой системе.

-1
ответ дан 7 December 2019 в 20:38
поделиться