Зачем моей машине нужен полный сброс IIS, чтобы увидеть изменения кода в проекте ASP.NET? - PullRequest
6 голосов
/ 08 июля 2010

Я заметил, что проект веб-сайта VS2010 C #, над которым я работаю, всегда нуждается в iisreset, чтобы увидеть изменения, которые я делаю в коде файлов в проекте. Я заметил, что у него нет правильной версии сборки, потому что при попытке отладки Visual Studio не позволяет мне ставить точки останова в измененных файлах кода.

Я бы подумал, что перезапуска пула приложений будет достаточно, но наши шаги после сборки делают это, и этого недостаточно.

Может ли что-то быть неправильно настроено на моей машине или в проекте, чтобы это произошло?

Ответы [ 2 ]

1 голос
/ 08 июля 2010

-Я предполагаю, что вы запускаете asp.net 4-

В web.config это значения для отладки, которые делают меньше компиляций

<compilation debug="true" batch="false" optimizeCompilations="true"
  defaultLanguage="C#" targetFramework="4.0">

Вы можете изменить пакет или optimizeCompilations , чтобы увидеть, решена ли ваша проблема.

Теперь я расскажу вам еще одну причину, по которой я заметил.

Когдау вас есть функция с параметрами по умолчанию, такими как

foo(int cValueA, int cValueB = 23)

, и по какой-то причине вы меняете ее на

foo(int cValueA, int cValueB = 23, int cValueC = 34)

или на

foo(int cValueA)

все вызовы этой функциис одним значением, не может поймать обновление вашей функции, поэтому они используют старый код.Один из способов решить эту проблему, и то, что я делаю, - это найти все ссылки на эту функцию и просто открыть файл, добавить пробел в конце и сохранить его, поэтому таким образом я изменяю дату и время файла, чтобы дать компиляторуобратите внимание, что необходимо обновить.

0 голосов
/ 08 июля 2010

IIS оптимизирован для производственной среды, где развернутые файлы не изменяются во время выполнения. В этом случае IIS должен регулярно опрашивать и перезагружать библиотеки во время выполнения. Что является редким случаем в производственной рекламе, также значительно ухудшит производительность. Обычно во время разработки используется тестовый веб-сервер с VS2010. Это оптимизировано для разработки. Используйте правильный инструмент для правильной цели.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...