Я хотел бы знать, как лучше всего запрограммировать три разных редакции моего приложения на C # ASP.NET 3.5 в VS2008 Professional (который включает в себя проект веб-развертывания).
У меня есть версия приложения Light, Pro и Ultimate (или версия).
На данный момент я поместил все в одно решение с тремя версиями сборки в диспетчере конфигурации и использую директивы препроцессора по всему коду (около 10 таких конструкций в десяти тысячах строк кода, так что его можно наблюдать):
#if light
//light code
#endif
#if pro
//pro code
#endif //etc...
Я часами читал в stackoverflow и думал о том, как, например, Microsoft делает это с разными версиями Windows, но не нашла того, чего я ожидала.
Где-то идет интенсивное обсуждение того, являются ли директивы препроцессора злыми.
Что мне нравится в этих директивах if:
- параллельный код различий,
поэтому я пойму код для
разные издания через шесть месяцев
- и особая выгода НЕ давать
скомпилированный код других версий
клиенту.
ОК, длинная экспликация, повторный вопрос:
Какой лучший путь?