Что такое Visual Studio / C# эквивалентно целям сборки Xcode?

Когда я работал в мире iOS, у меня был набор из 4 проектов, которые были практически идентичны, за исключением текстовых данных, PNG и нескольких функций здесь и там. Чтобы облегчить это, я установил 4 цели сборки, которые все в значительной степени ссылались на одни и те же исходные файлы, но разные файлы данных и изображений. После этого я мог просто выбрать цель сборки в верхнем меню и быстро выпустить это приложение.

Я пытался добавить несколько проектов в решение Visual Studio, которое ссылалось на одни и те же файлы, но в результате я обнаружил ошибки "Пространство имен уже содержит ссылку на класс XXX". Как правильно выполнить это поведение в Visual Studio (2012 Express)?

РЕДАКТИРОВАТЬ
Теперь есть новая ошибка. Что мне действительно нужно, так это только запуск проекта и его зависимостей для построения. Тем не менее, все проекты создаются каждый раз. Теперь я получаю странную ошибку

Файл ссылки на манифест 'XXX.exe', который не является частью полезной нагрузки.

Я отредактировал оба файла манифеста, чтобы явно использовать имя.exe, но безуспешно.

2 ответа

Решение

Вот руководство по созданию нескольких проектов и обмену копиями ссылок:

При использовании библиотек с открытым исходным кодом, должны ли мы компилироваться с исходным кодом или двоичными файлами?

и это аналогично, поскольку ссылки построены с помощью какого-то проекта в решении:

Как вы организуете проекты Visual Studio с открытым исходным кодом с зависимостями с открытым исходным кодом?

Обратите внимание, что..

Вы можете создавать проекты и делиться исходным файлом;

Вы можете создавать проекты и делать их зависимыми;

но вы не можете создавать проекты и совместно использовать исходный файл и делать их зависимостями друг от друга напрямую.

Для Manifest references file 'XXX.exe' which is not проблема, я нашел внешнюю ссылку решения вокруг этого:

Как разрешить 'Ссылочный файл манифеста' XYZ 'не является частью полезной нагрузки

У вас могут быть разные цели сборки в проекте, и вы можете условно включать файлы в CSPROJ, если редактируете файлы вручную. Там нет пользовательского интерфейса, чтобы сделать это в любой редакции VS.

На практике создание нескольких проектов, ссылающихся на одни и те же файлы, может быть более удобным для пользователя:

  • Я не думаю, что в выпусках Express представлены цели управления сборкой
  • Редактирование VS игнорирует все условия и делает вид, что все файлы включены в проект - в зависимости от того, какие файлы являются реальными, это может варьироваться от абсолютно нормального до безумного поведения во время редактирования (то есть может полностью запутать intellisense).

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

Другие вопросы по тегам