Вы создаете проект для одного из родителей?
пространство имен, а затем ссылка на это
проект dll в других проектах?
Не обязательно. Обычно это заканчивается тем, что мои библиотеки обычно не очень большие, но вы заметите, что Microsoft, конечно, этого не делает. System.Web существует, даже если вы не включили ссылку на System.Web. Вы просто получаете больше классов, если вы делаете. Указывает на то, что пространство имен System.Web используется в нескольких разных DLL.
Вы создаете одну большую библиотеку классов
и портировать эту вещь вокруг (даже если
вам нужно всего 5% от библиотеки)?
Да. Место на жестком диске дешево, дешевле, чем поддержка избыточного кода.
Или вы просто создаете один файл и
скопируйте нужный код в этот файл;
тащит этот файл во все
проекты, которые вам нужны для достижения
архитектура «подключи и работай» (как плохо
как это кажется)?
Это зависит от функции. Я обычно помещал что-то подобное в фрагмент кода. Например, типичная функция, которая появляется в моих веб-проектах, выглядит примерно так:
void ShowErrorMessage(HtmlTableRow row, string message)
{
row.Cells.Clear();
row.Cells.Add(new HtmlTableCell());
row.Cells[0].InnerHtml = message;
row.Cells.Attributes.Add("class", "error");
row.Visible = true;
}
Это никогда не казалось хорошим кандидатом на библиотечную функцию, потому что тогда мне пришлось бы передать класс CSS, который я хотел использовать, и иногда значение colspan для ячейки. Но вы увидите такую реализацию в нескольких местах в моих веб-проектах.