Согласно более раннему вопросу о конфигурации Visual Studio , нет никакого способа использовать диспетчер конфигурации Visual Studio для создания различных конфигураций для проекта веб-сайта ASP.net.
Для обычных проектов у нас есть директивы #if, которые переключают определенные переменные сервера или базы данных в зависимости от того, отлаживаемся мы или работаем. Это не работает для веб-сайтов.
Например, в классе (в App_Code), который определяет соединение с внутренним сервером веб-сайта, может быть фрагмент кода, подобный этому, который переопределяет производственные значения в web.config, если вы хотите запустить сервер отладки на вашем локальном компьютере:
#if DEBUGLOCAL
ServerProperties.ServerIP = "localhost";
ServerProperties.DataContextIP = "localhost";
#endif
Это не работает, так как для веб-сайта нет конфигурации «Debug Local», поэтому DEBUGLOCAL не определен.
Нашли ли вы хороший способ обойти подобные проблемы? Кроме (я надеюсь) рефакторинга всего, чтобы все эти ссылки жили в проекте библиотеки классов?
ETA: могут ли проекты веб-развертывания помочь здесь?