#c# #asp.net #visual-studio #debugging
#c# #asp.net #visual-studio #отладка
Вопрос:
Я пытаюсь увидеть результат цикла foreach в моем коде в окне вывода в ASP.NET веб-приложение, но я не получаю никаких результатов, даже несмотря на наличие достоверных данных. Я провел изрядный поиск с помощью Google по этой проблеме, но ничего из того, что я делал, не работает. Вот код на моей странице ASPX:
List<MyClass> myClasses = GetMyClasses();
foreach (MyClass myClass in myClasses)
{
Debug.WriteLine(myClass.SomeProperty);
}
Код очень простой. Когда я отлаживаю эту страницу, MyClass.SomeProperty имеет значение, которое я хочу, но ничего не выводится в окно вывода. Что я мог упустить? Я не могу использовать ответ.Напишите, потому что мой поток ответов используется для создания файла Excel. Я также не хочу использовать трассировку.
Обновить
У меня есть это в моем файле web.config:
<system.web>
...
<compilation debug="true" targetFramework="4.0">
...
</system.web>
Комментарии:
1. Итак, в чем была проблема / как вы ее исправили?
Ответ №1:
(Извините, полного ответа нет, но комментарий немного длинный)
Существуют функции, связанные с отладкой. (Связано с тем, что делает переключатель оптимизации)
- Генерация символов отладки
- Оптимизация C # IL
- Оптимизация дрожания
- Определение условия ОТЛАДКИ.
Что вам нужно для вашей проблемы, так это DEBUG
условие. Я предполагаю, что debug="true"
переключатель влияет только на символы отладки, но не на условные.
редактировать: хм, странно. скоттгу заявляет в http://weblogs.asp.net/scottgu/archive/2005/11/06/429723.aspx это debug="true"
должно повлиять на это условие.
Обратите внимание, что значение параметра debug в веб-приложении определяется значением значения в вашем файле web.config.
Ответ №2:
Вы используете System.Диагностика.Трассировка, а не ASP.NET Трассировка. Чтобы получить System.Диагностика.Трассировка, работающая внутри ASP.NET смотрите http://msdn.microsoft.com/en-us/library/b0ectfxd (v =против 85).aspx.
Ответ №3:
У меня также была такая же проблема, но позже выяснилось, что Debug.Writeline() не работала с моими модульными тестами.
Комментарии:
1. Это не для модульного теста. Это для ASP.NET страница веб-формы. Я просто пытаюсь сравнить выходные данные для нескольких циклов foreach.
Ответ №4:
Установили ли вы
<system.web> <compilation debug="true" defaultLanguage="c#" /> </system.web>
в вашем web.config?