Как я могу настроить различные конфигурации сборки для проектов веб-сайта ASP.Net? - PullRequest
0 голосов
/ 14 января 2009

Согласно более раннему вопросу о конфигурации Visual Studio , нет никакого способа использовать диспетчер конфигурации Visual Studio для создания различных конфигураций для проекта веб-сайта ASP.net.

Для обычных проектов у нас есть директивы #if, которые переключают определенные переменные сервера или базы данных в зависимости от того, отлаживаемся мы или работаем. Это не работает для веб-сайтов.

Например, в классе (в App_Code), который определяет соединение с внутренним сервером веб-сайта, может быть фрагмент кода, подобный этому, который переопределяет производственные значения в web.config, если вы хотите запустить сервер отладки на вашем локальном компьютере:

#if DEBUGLOCAL
           ServerProperties.ServerIP = "localhost";
           ServerProperties.DataContextIP = "localhost";
#endif

Это не работает, так как для веб-сайта нет конфигурации «Debug Local», поэтому DEBUGLOCAL не определен.

Нашли ли вы хороший способ обойти подобные проблемы? Кроме (я надеюсь) рефакторинга всего, чтобы все эти ссылки жили в проекте библиотеки классов?

ETA: могут ли проекты веб-развертывания помочь здесь?

Ответы [ 2 ]

1 голос
/ 14 января 2009

Может быть, какой-то проект веб-развертывания, который выполняет некоторую замену в файле web.config? Другой идеей было бы иметь строку подключения в файле web.config, которая извлекает различные значения из заранее определенной базы данных, которая может существовать в каждой среде, чтобы можно было легко изменять настройки без необходимости прикасаться к файлам.

0 голосов
/ 15 января 2009

Другой вариант может быть обновить веб-сайт до веб-приложения .

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

...