Как создать два разных приложения из одного проекта Visual C #? - PullRequest
2 голосов
/ 14 октября 2008

У меня есть исходная база, которая в зависимости от определенных флагов во время сборки создает два разных приложения. Я могу создать оба этих приложения, используя Makefile, указав две разные цели: одну, которая компилируется с флагом, и другую, которая компилируется без, и имея совокупную цель, которая создает оба.

Как мне сделать то же самое из Visual C # Express для Windows?

Ответы [ 3 ]

2 голосов
/ 14 октября 2008

Создайте одно решение с двумя файлами проекта в одной папке. Задайте в своем решении две разные конфигурации, одна из которых строит один из проектов, а другая - другой.

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

0 голосов
/ 15 октября 2008

Я не знаю точно о версиях Express, но в Visual Studio есть пункт меню Build->Batch Build для создания всех конфигураций одновременно.


Я не считаю, что с Visual Studio легко работать, когда у меня сложный сценарий вывода сборки. В этих ситуациях я обычно использую NAnt с инструментом непрерывной интеграции, таким как CruiseControl.Net . Вы также можете создавать выходные данные проекта локально с помощью того же сценария NAnt.

Сценарий NAnt - это, по сути, файл сборки Xml с большим количеством функциональных возможностей.

0 голосов
/ 14 октября 2008

Релиз против отладки? Вы также можете создавать свои собственные конфигурации. Но создание совершенно другого приложения на основе конфигурации кажется плохой идеей.

Обычная визуальная студия может иметь несколько проектов в одном решении, и я думаю, что есть способ включить это в экспресс-выпуск (возможно, открыв решение, созданное в другом месте).

Правда, вам, возможно, придется согласиться на одновременное открытие двух экземпляров Visual Studio. Вы всегда можете настроить один из них для встраивания прямо в папку / bin / Release / другого проекта, если хотите.

...