У меня есть проект веб-сайта, который я унаследовал и пытаюсь очистить. У него был файл Common.cs с более чем 10 000 loc, поэтому я с тех пор отделял его от разных файлов. Проблема заключается в том, что в верхней части общего файла является #define UAT
заявления, которое используется в коде, чтобы принимать определенные решения конфигурации, такие как:Условные константы компиляции для проекта веб-сайта
#if UAT
using WCFServiceUAT;
#else
using WCFServicePRD;
#endif
Так что теперь, когда я иду, чтобы развернуть серийную версию этого приложения , Мне придется удалить оператор #define во многих разных местах, что, по-видимому, является склонным к ошибкам и вообще плохой идеей. Я ищу что-то такое, как условные константы компиляции, где я могу определить это один раз и повлиять на весь проект.
Этот тип управления конфигурацией используется только в файлах C#. оператор #define, который требуется изменить только в Default.aspx.cs и Common.cs, но после моих усилий по реструктуризации он теперь появляется намного больше. Хотя было бы неплохо, если бы мой файл site.master изменил заголовок, основанный на некоторой конфигурации, это гораздо меньше беспокоит.
Я попытался изменить свойства конфигурации сборки для проекта, но не имею никаких параметров, таких как константы условной компиляции, и предполагаю, что он не поддерживается для моего типа проекта. Есть ли другой способ поместить #define на глобальном уровне проекта, а не вверху каждого файла? Единственное решение, которое я нашел для проекта веб-приложения, и на основе Web Application Projects Vs Web Site Projects, я не верю, что работаю с проектом типа веб-приложения, потому что нет .csproj-файла.
Выбор свойств проекта, на второй странице (BUILD) вы должны увидеть InputBox «условной компиляции символов», где вы можете установить/удалить символ UAT – Steve
Я говорю, что это нетам все же. У меня есть 'Перед запуском страницы запуска:', 'Target Framework',' Build solution action' и 'Access validation' – Cole9350
Я вижу, это проект веб-сайта, и, похоже, этот проект не хватает этого условного символы. Похоже, что единственный вариант - преобразовать ваш проект в веб-приложение. [Здесь шаг за шагом] (http://stackoverflow.com/questions/735054/how-to-convert-asp-net-website-to-asp-net-web-application) – Steve