Что такое Visual Studio / C# эквивалентно целям сборки Xcode?
Когда я работал в мире iOS, у меня был набор из 4 проектов, которые были практически идентичны, за исключением текстовых данных, PNG и нескольких функций здесь и там. Чтобы облегчить это, я установил 4 цели сборки, которые все в значительной степени ссылались на одни и те же исходные файлы, но разные файлы данных и изображений. После этого я мог просто выбрать цель сборки в верхнем меню и быстро выпустить это приложение.
Я пытался добавить несколько проектов в решение Visual Studio, которое ссылалось на одни и те же файлы, но в результате я обнаружил ошибки "Пространство имен уже содержит ссылку на класс XXX". Как правильно выполнить это поведение в Visual Studio (2012 Express)?
РЕДАКТИРОВАТЬ
Теперь есть новая ошибка. Что мне действительно нужно, так это только запуск проекта и его зависимостей для построения. Тем не менее, все проекты создаются каждый раз. Теперь я получаю странную ошибку
Файл ссылки на манифест 'XXX.exe', который не является частью полезной нагрузки.
Я отредактировал оба файла манифеста, чтобы явно использовать имя.exe, но безуспешно.
2 ответа
Вот руководство по созданию нескольких проектов и обмену копиями ссылок:
и это аналогично, поскольку ссылки построены с помощью какого-то проекта в решении:
Обратите внимание, что..
Вы можете создавать проекты и делиться исходным файлом;
Вы можете создавать проекты и делать их зависимыми;
но вы не можете создавать проекты и совместно использовать исходный файл и делать их зависимостями друг от друга напрямую.
Для Manifest references file 'XXX.exe' which is not
проблема, я нашел внешнюю ссылку решения вокруг этого:
Как разрешить 'Ссылочный файл манифеста' XYZ 'не является частью полезной нагрузки
У вас могут быть разные цели сборки в проекте, и вы можете условно включать файлы в CSPROJ, если редактируете файлы вручную. Там нет пользовательского интерфейса, чтобы сделать это в любой редакции VS.
На практике создание нескольких проектов, ссылающихся на одни и те же файлы, может быть более удобным для пользователя:
- Я не думаю, что в выпусках Express представлены цели управления сборкой
- Редактирование VS игнорирует все условия и делает вид, что все файлы включены в проект - в зависимости от того, какие файлы являются реальными, это может варьироваться от абсолютно нормального до безумного поведения во время редактирования (то есть может полностью запутать intellisense).
Другой вариант - разделить файлы на несколько проектов, чтобы общий код находился в одном, а не общий код / данные - в отдельных отдельных проектах.