0

Моя среда - это Visual Studio 2005. Моя проблема заключается в том, что я хочу определить TRACE.ОПИСАНИЕ времени компиляции в проекте веб-развертывания ASP.NET

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

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

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

ответ

1

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

Я не могу изменить ссылку на изображение, так как новые пользователи, по-видимому, не могут добавлять изображения: Annotated screenshot of .wdproj in a text editor http://img140.imageshack.us/img140/1719/deploymentproject.png

0

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

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

Тогда в вашем WebConfig, вы можете настроить его включения/выключения с помощью

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

Подробнее here

+0

Serapth, Спасибо за Ваш ответ. Я думаю, что был неясен в моем вопросе. Я понимаю, что могу включить трассировку ASP.NET в web.config и получить информацию в этой ссылке. Тем не менее, я хочу, чтобы Trace.Trace (Информация | Предупреждение | Ошибка) (сообщение), чтобы отправить отправителям трассировки. Это потребовало определения TRACE. Кроме того, #define отлично работает на C#. Попробуйте. –