DEFINEs времени компиляции в проекте веб-развертывания ASP.NET - PullRequest
0 голосов
/ 24 апреля 2009

Моя среда - Visual Studio 2005. Моя конкретная проблема заключается в том, что я хочу определить TRACE.

У меня есть проект веб-сайта, который отправляет сообщения трассировки при запуске из ASP.NET Development Server благодаря его определению в элементе system.codedom файла web.config.

При развертывании в IIS я делаю это через проект веб-развертывания. Так что сайт предварительно скомпилирован. Естественно, эти записи не имеют смысла на скомпилированном веб-сайте.

Мой вопрос: как мне определить TRACE в проекте веб-развертывания?

Ответы [ 2 ]

1 голос
/ 07 мая 2009

Насколько я могу судить, Visual Studio IDE не позволяет вам устанавливать постоянные времени компиляции в проектах веб-развертывания. Однако, поскольку файл .wdproj - это просто файл msbuild, вы можете редактировать его с помощью текстового редактора. Вам необходимо добавить элемент в разделы, как показано на снимке экрана в предоставленной ссылке.

Я не могу изменить ссылку на изображение, поскольку новые пользователи, очевидно, не могут добавлять изображения: Аннотированный скриншот .wdproj в текстовом редакторе http://img140.imageshack.us/img140/1719/deploymentproject.png

0 голосов
/ 07 мая 2009

В C # нет эквивалента #defines. Тем не менее, звучит так, как будто вы хотите использовать условную трассировку, которая легко выполняется. Если у вас есть диагностический код в вашем проекте, но вы хотите его определить, используйте встроенную функцию трассировки, например

System.Diagnostics.Trace.WriteLine («Некоторые результаты отладки»);

Затем в своем веб-файле вы можете настроить его включение / выключение, используя

<configuration>
 <system.web>
  <trace enabled="true" requestLimit="40" localOnly="false"/>
 </system.web>
</configuration>

Подробнее здесь

...