2013-12-09 4 views
6

Я пишу библиотеку классов в C# /. NET.Как включить исходные файлы одного проекта в другой проект?

мне нужно собрать его для двух различных структур:

  • 4,0 (используя для отладки себя)
  • 3,5 (с использованием на клиенте).

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

Теперь, если я даже использую «добавить существующий элемент», VS 2010 создает копии; и мне нужно копировать последние версии каждый раз.

Я не могу просто изменить цель в проекте, потому что я использую разные версии ссылок .dll и потому что у ms vs есть некоторые причуды.

ответ

6

Одним из вариантов являются использование Add As Link вариантов, упомянутых уже другими, но у вас есть больше возможностей, чем что:

  1. Portable Class Libraries является специальным видом проекта, что позволит вы должны указать, какие версии .NET вы хотите настроить. Затем компилятор выводит соответствующие сборки для вас. Преимущество этого метода заключается в том, что у вас есть одна версия источника, которая компилируется в обе структуры. Недостаток заключается в том, что вы не можете использовать функции, которые не поддерживает базовая среда с наименьшим общим знаменателем .NET.
  2. Объединение управления версиями & слияние позволяет фактически поддерживать 2 похожих, но разных исходных файла. У вас есть одна версия, которая является главной версией, а затем после внесения изменений в нее вы объедините ее с вашими проектами, которые производят фактический вывод. Преимущество этого метода заключается в том, что у вас может быть два совершенно разных файла, поэтому у вас есть много свободы. Недостаток заключается в том, что у вас есть два полностью отдельных файла, которых трудно управлять.
  3. Лучше обмануть MsBuild. Используя конструкцию <choose>/<when>, вы можете условно включить ссылки на конкретную версию сборки в зависимости от состояния. Версия целевой рамочной версии и другие настройки могут управляться через MsBuild, но вы не всегда можете редактировать их через пользовательский интерфейс.Вы можете использовать это в сочетании с #if MY_CONSTANT для создания условно скомпилированных частей приложения
  4. Вы можете создать сборку .NET, которую вы ссылаетесь на оба проекта. Вы устанавливаете версию .NET в самую низкую версию, 3.5 в вашем случае. Visual Studio 2010 и более поздние версии поддерживают поддержку нескольких таргетинга, и вы можете смешивать и сопоставлять версии .NET framework в одном решении.

В каких цирках вы работаете, если вы делитесь (частью) ваших файлов проекта, мы можем решить их для вас.

5

Вы можете использовать функцию Add as Link.

Это выглядит следующим образом:

  • правой кнопкой мыши, где нужна ваша (существующий файл), чтобы быть
  • "Добавить" -> "Existing Item"
  • Выберите файл и нажмите на стрелку на кнопку «Добавить» и выберите «Добавить как ссылку» (см скриншот ниже)
  • ссылка на файл будет добавлен в проект вместо копии

Screenshot

3

При добавлении файла в проект выберите «Добавить в качестве ссылки» не только.

Add as link

Смежные вопросы