Как иметь различные Зависимости Проекта для каждой Конфигурации Проекта?

Отражение позволяет Вам решать проблемы, которые иначе потребовали бы Вас к дублирующему коду. Если Вы копируете и вставить код и не видите, как шаблон OO может помочь, возможно, если можно назвать их, то "r команда" может помочь.

Только шутка. Я не мог понять точку отражения целую вечность. Если можно записать код для выполнения задания, почему необходимо использовать отражение вообще?

Говорят, что у Вас есть много объектов GUI как объектов 'таблицы' или Формы. Это связывает с бизнес-объектом как Клиент:

public class Customer
{
   public string FirstName;
   public string LastName;

}

Ваши пользователи не хотят видеть заголовки столбцов 'FirstName' или 'LastName'. Они хотят 'имя' и Фамилию. Вы не хотите кодировать литеральные строки во всех своих объектах GUI в случае, если они передумали к 'Имени' и 'Фамилии родительского элемента' (я знаю, загаженный пример).

, Если Вы определяете свой класс с помощью атрибутов:

public class Customer
{
   [Description("Christian Name")]
   public string FirstName;

   [Description("Surname")]
   public string LastName;

}

можно использовать отражение для вытаскивания имен столбцов. Если необходимо изменить путь весь объекты GUI описывают потребительский объект, Вы теперь делаете это в одном месте.

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

6
задан Richard J. Ross III 13 March 2013 в 14:08
поделиться

4 ответа

После поиска Google в течение нескольких дней, я наконец-то разочаровался на нахождении решения этой проблемы и разыграл против VS разработчика, который дал мне обходной путь к этой проблеме (на самом деле, я попробовал Bajillion разные вещи, чтобы найти это) Отказ

, по-видимому, IDE не является достаточно умным, чтобы выяснить, что вы отключили здание для конкретной библиотеки в данной конфигурации, и не добавлять вывод проекта в командную строку ссылки к проектам, которые зависят от него. Я уверен, что вы знаете об этом.

Тем не менее, поскольку он просто вставляет выпускную линию от проекта библиотеки в командную строку зависимого проекта, установка линии вывода на «» приведет к тому, что в командной строке линкера в зависимости от зависимых проектов.

Надеюсь, эта проблема будет исправлена ​​в визуальной студии в будущем. Я остаюсь оптимистичным, потому что это моя любимая IDE, и я всегда впечатлен функциями, которые он поддерживает. Однако некоторые из VS помогают потокам, которые я видел, говорят, что эта ошибка «по дизайну», так что, возможно, они не будут исправлять. Это кажется достаточно легко, чтобы сделать, хотя.

В любом случае, для суммирования:

  • Щелкните правой кнопкой мыши на вашем библиотечном проекте в исследовательском исследовании и нажмите «Свойства».
  • Переключитесь на пару «Конфигурация / платформа», для которой ваш библиотечный проект не создает.
  • Выберите «Конфигурация свойств -> Библиотекарь -> Общие».
  • Для «Выходного файла» введите «» (то есть открытые оторенцы, пространство, закрытие Parens).
  • Нажмите ОК.

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

Надеюсь, это поможет!

Даниэль

7
ответ дан 9 December 2019 в 22:36
поделиться

В Visual Studio каждая конфигурация сборки сохраняет собственный список свойств для вашего проекта. Просто добавьте свою библиотеку в любую конфигурацию сборки, которую хотите. Только не добавляйте во "Все конфигурации"

0
ответ дан 9 December 2019 в 22:36
поделиться

Щелкните решение правой кнопкой мыши и выберите свойства. Появится страница свойств решения.

На правой странице выберите Configuration Properties >>> Configuration

Здесь вы можете выбрать конфигурацию сборки для типа сборки Debug, Release и All, установив флажок Build.

0
ответ дан 9 December 2019 в 22:36
поделиться

Можно отключить свойство зависимостей Linker / General / Link library в зависимом проекте и поставить библиотека во входных данных компоновщика в соответствующих конфигурациях.

Это делает ссылки на проект менее полезными, но работоспособными.

3
ответ дан 9 December 2019 в 22:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: